summaryrefslogtreecommitdiffstats
path: root/sys/i386/include/cpufunc.h
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2009-06-16 15:13:18 +0000
committerjhb <jhb@FreeBSD.org>2009-06-16 15:13:18 +0000
commit04e0bdb73d5d5ed7a8fe2836b11aa09f4ce77667 (patch)
tree8dbc08498b32625de83a4f9dcb0485f57bb40132 /sys/i386/include/cpufunc.h
parentc971ea42f7b588ce3fb409b0b5f9e4a45e5a2e71 (diff)
downloadFreeBSD-src-04e0bdb73d5d5ed7a8fe2836b11aa09f4ce77667.zip
FreeBSD-src-04e0bdb73d5d5ed7a8fe2836b11aa09f4ce77667.tar.gz
Move (read|write)_cyrix_reg() inlines from specialreg.h to cpufunc.h.
specialreg.h now consists solely of register-related macros.
Diffstat (limited to 'sys/i386/include/cpufunc.h')
-rw-r--r--sys/i386/include/cpufunc.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/sys/i386/include/cpufunc.h b/sys/i386/include/cpufunc.h
index 410437d..6139a1f 100644
--- a/sys/i386/include/cpufunc.h
+++ b/sys/i386/include/cpufunc.h
@@ -620,6 +620,20 @@ load_dr7(u_int dr7)
__asm __volatile("movl %0,%%dr7" : : "r" (dr7));
}
+static __inline u_char
+read_cyrix_reg(u_char reg)
+{
+ outb(0x22, reg);
+ return inb(0x23);
+}
+
+static __inline void
+write_cyrix_reg(u_char reg, u_char data)
+{
+ outb(0x22, reg);
+ outb(0x23, data);
+}
+
static __inline register_t
intr_disable(void)
{
@@ -702,6 +716,7 @@ u_int rdr5(void);
u_int rdr6(void);
u_int rdr7(void);
uint64_t rdtsc(void);
+u_char read_cyrix_reg(u_char reg);
u_int read_eflags(void);
u_int rfs(void);
uint64_t rgdt(void);
@@ -710,6 +725,7 @@ uint64_t ridt(void);
u_short rldt(void);
u_short rtr(void);
void wbinvd(void);
+void write_cyrix_reg(u_char reg, u_char data);
void write_eflags(u_int ef);
void wrmsr(u_int msr, uint64_t newval);
OpenPOWER on IntegriCloud