From owner-p4-projects@FreeBSD.ORG Fri Apr 4 22:21:16 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5469737B404; Fri, 4 Apr 2003 22:21:16 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CB32637B401 for ; Fri, 4 Apr 2003 22:21:15 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 65AD943FB1 for ; Fri, 4 Apr 2003 22:21:15 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h356LF0U019981 for ; Fri, 4 Apr 2003 22:21:15 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h356LE0N019978 for perforce@freebsd.org; Fri, 4 Apr 2003 22:21:14 -0800 (PST) Date: Fri, 4 Apr 2003 22:21:14 -0800 (PST) Message-Id: <200304050621.h356LE0N019978@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 28180 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Apr 2003 06:21:17 -0000 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);