Date: Fri, 4 Apr 2003 22:21:14 -0800 (PST) From: Peter Wemm <peter@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 28180 for review Message-ID: <200304050621.h356LE0N019978@repoman.freebsd.org>
index | next in thread | raw e-mail
http://perforce.freebsd.org/chv.cgi?CH=28180 Change 28180 by peter@peter_overcee on 2003/04/04 22:21:05 use longer registers for %cr* send more dr*() functions to sleep with the fishes Affected files ... .. //depot/projects/hammer/sys/x86_64/include/cpufunc.h#8 edit Differences ... ==== //depot/projects/hammer/sys/x86_64/include/cpufunc.h#8 (text+ko) ==== @@ -370,7 +370,7 @@ load_cr0(u_long data) { - __asm __volatile("movl %0,%%cr0" : : "r" (data)); + __asm __volatile("movq %0,%%cr0" : : "r" (data)); } static __inline u_long @@ -378,7 +378,7 @@ { u_long data; - __asm __volatile("movl %%cr0,%0" : "=r" (data)); + __asm __volatile("movq %%cr0,%0" : "=r" (data)); return (data); } @@ -387,7 +387,7 @@ { u_long data; - __asm __volatile("movl %%cr2,%0" : "=r" (data)); + __asm __volatile("movq %%cr2,%0" : "=r" (data)); return (data); } @@ -395,7 +395,7 @@ load_cr3(u_long data) { - __asm __volatile("movl %0,%%cr3" : : "r" (data) : "memory"); + __asm __volatile("movq %0,%%cr3" : : "r" (data) : "memory"); } static __inline u_long @@ -403,14 +403,14 @@ { u_long data; - __asm __volatile("movl %%cr3,%0" : "=r" (data)); + __asm __volatile("movq %%cr3,%0" : "=r" (data)); return (data); } static __inline void load_cr4(u_long data) { - __asm __volatile("movl %0,%%cr4" : : "r" (data)); + __asm __volatile("movq %0,%%cr4" : : "r" (data)); } static __inline u_long @@ -418,7 +418,7 @@ { u_long data; - __asm __volatile("movl %%cr4,%0" : "=r" (data)); + __asm __volatile("movq %%cr4,%0" : "=r" (data)); return (data); } @@ -493,118 +493,6 @@ __asm __volatile("ltr %0" : : "r" (sel)); } -static __inline u_int -rdr0(void) -{ - u_int data; - __asm __volatile("movl %%dr0,%0" : "=r" (data)); - return (data); -} - -static __inline void -load_dr0(u_int dr0) -{ - __asm __volatile("movl %0,%%dr0" : : "r" (dr0)); -} - -static __inline u_int -rdr1(void) -{ - u_int data; - __asm __volatile("movl %%dr1,%0" : "=r" (data)); - return (data); -} - -static __inline void -load_dr1(u_int dr1) -{ - __asm __volatile("movl %0,%%dr1" : : "r" (dr1)); -} - -static __inline u_int -rdr2(void) -{ - u_int data; - __asm __volatile("movl %%dr2,%0" : "=r" (data)); - return (data); -} - -static __inline void -load_dr2(u_int dr2) -{ - __asm __volatile("movl %0,%%dr2" : : "r" (dr2)); -} - -static __inline u_int -rdr3(void) -{ - u_int data; - __asm __volatile("movl %%dr3,%0" : "=r" (data)); - return (data); -} - -static __inline void -load_dr3(u_int dr3) -{ - __asm __volatile("movl %0,%%dr3" : : "r" (dr3)); -} - -static __inline u_int -rdr4(void) -{ - u_int data; - __asm __volatile("movl %%dr4,%0" : "=r" (data)); - return (data); -} - -static __inline void -load_dr4(u_int dr4) -{ - __asm __volatile("movl %0,%%dr4" : : "r" (dr4)); -} - -static __inline u_int -rdr5(void) -{ - u_int data; - __asm __volatile("movl %%dr5,%0" : "=r" (data)); - return (data); -} - -static __inline void -load_dr5(u_int dr5) -{ - __asm __volatile("movl %0,%%dr5" : : "r" (dr5)); -} - -static __inline u_int -rdr6(void) -{ - u_int data; - __asm __volatile("movl %%dr6,%0" : "=r" (data)); - return (data); -} - -static __inline void -load_dr6(u_int dr6) -{ - __asm __volatile("movl %0,%%dr6" : : "r" (dr6)); -} - -static __inline u_int -rdr7(void) -{ - u_int data; - __asm __volatile("movl %%dr7,%0" : "=r" (data)); - return (data); -} - -static __inline void -load_dr7(u_int dr7) -{ - __asm __volatile("movl %0,%%dr7" : : "r" (dr7)); -} - static __inline register_t intr_disable(void) { @@ -671,21 +559,6 @@ void wbinvd(void); void write_rflags(u_int ef); void wrmsr(u_int msr, u_int64_t newval); -u_int rdr0(void); -void load_dr0(u_int dr0); -u_int rdr1(void); -void load_dr1(u_int dr1); -u_int rdr2(void); -void load_dr2(u_int dr2); -u_int rdr3(void); -void load_dr3(u_int dr3); -u_int rdr4(void); -void load_dr4(u_int dr4); -u_int rdr5(void); -void load_dr5(u_int dr5); -u_int rdr6(void); -void load_dr6(u_int dr6); -u_int rdr7(void); void load_dr7(u_int dr7); register_t intr_disable(void); void intr_restore(register_t ef);help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200304050621.h356LE0N019978>
