From 2bdf11638ebc31d564983b42bc264ff68d7d6ba5 Mon Sep 17 00:00:00 2001 From: David Xu Date: Sat, 19 Apr 2003 02:40:39 +0000 Subject: [PATCH] Don't return garbage in high 16 bits. --- sys/amd64/include/cpufunc.h | 8 ++++---- sys/i386/include/cpufunc.h | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/sys/amd64/include/cpufunc.h b/sys/amd64/include/cpufunc.h index c7f9ace695f0..3fe22aca60bd 100644 --- a/sys/amd64/include/cpufunc.h +++ b/sys/amd64/include/cpufunc.h @@ -444,16 +444,16 @@ invlpg(u_int addr) static __inline u_int rfs(void) { - u_int sel; - __asm __volatile("movl %%fs,%0" : "=rm" (sel)); + u_short sel; + __asm __volatile("movw %%fs,%0" : "=rm" (sel)); return (sel); } static __inline u_int rgs(void) { - u_int sel; - __asm __volatile("movl %%gs,%0" : "=rm" (sel)); + u_short sel; + __asm __volatile("movw %%gs,%0" : "=rm" (sel)); return (sel); } diff --git a/sys/i386/include/cpufunc.h b/sys/i386/include/cpufunc.h index c7f9ace695f0..3fe22aca60bd 100644 --- a/sys/i386/include/cpufunc.h +++ b/sys/i386/include/cpufunc.h @@ -444,16 +444,16 @@ invlpg(u_int addr) static __inline u_int rfs(void) { - u_int sel; - __asm __volatile("movl %%fs,%0" : "=rm" (sel)); + u_short sel; + __asm __volatile("movw %%fs,%0" : "=rm" (sel)); return (sel); } static __inline u_int rgs(void) { - u_int sel; - __asm __volatile("movl %%gs,%0" : "=rm" (sel)); + u_short sel; + __asm __volatile("movw %%gs,%0" : "=rm" (sel)); return (sel); }