diff options
| author | John Dyson <dyson@FreeBSD.org> | 1998-05-11 02:13:47 +0000 |
|---|---|---|
| committer | John Dyson <dyson@FreeBSD.org> | 1998-05-11 02:13:47 +0000 |
| commit | 5498a452bc9de98e17bd72cbfb190cb0f1b52fff (patch) | |
| tree | b98f0d2f352c95a87cc1864e5465ddc009f26e97 /sys/amd64/include | |
| parent | f0175db1ee1568b9db4c3c8f15455ed5147bae94 (diff) | |
Notes
Diffstat (limited to 'sys/amd64/include')
| -rw-r--r-- | sys/amd64/include/cpufunc.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/sys/amd64/include/cpufunc.h b/sys/amd64/include/cpufunc.h index 22e4c279414b..fd3248eba5e2 100644 --- a/sys/amd64/include/cpufunc.h +++ b/sys/amd64/include/cpufunc.h @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: cpufunc.h,v 1.75 1998/01/25 17:02:00 kato Exp $ + * $Id: cpufunc.h,v 1.76 1998/01/25 23:45:41 kato Exp $ */ /* @@ -219,14 +219,21 @@ invd(void) void invlpg __P((u_int addr)); void invltlb __P((void)); +static __inline void +cpu_invlpg(void *addr) +{ + __asm __volatile("invlpg %0"::"m"(*(char *)addr):"memory"); +} + #else /* !SMP */ static __inline void -invlpg(u_int addr) +invlpg(void *addr) { - __asm __volatile("invlpg (%0)" : : "r" (addr) : "memory"); + __asm __volatile("invlpg %0"::"m"(*(char *)addr):"memory"); } + static __inline void invltlb(void) { @@ -432,5 +439,6 @@ void ltr __P((u_short sel)); u_int rcr0 __P((void)); u_long rcr3 __P((void)); u_long rcr4 __P((void)); +void i686_pagezero __P((void *addr)); #endif /* !_MACHINE_CPUFUNC_H_ */ |
