diff --git a/sys/amd64/include/cpufunc.h b/sys/amd64/include/cpufunc.h index 9a4c82275a9..e52c55dc80f 100644 --- a/sys/amd64/include/cpufunc.h +++ b/sys/amd64/include/cpufunc.h @@ -99,14 +99,6 @@ disable_intr(void) __asm __volatile("cli" : : : "memory"); } -static __inline void -do_cpuid(u_int ax, u_int *p) -{ - __asm __volatile("cpuid" - : "=a" (p[0]), "=b" (p[1]), "=c" (p[2]), "=d" (p[3]) - : "0" (ax)); -} - static __inline void cpuid_count(u_int ax, u_int cx, u_int *p) { @@ -115,6 +107,12 @@ cpuid_count(u_int ax, u_int cx, u_int *p) : "0" (ax), "c" (cx)); } +static __inline void +do_cpuid(u_int ax, u_int *p) +{ + cpuid_count(ax, 0, p); +} + static __inline void enable_intr(void) { diff --git a/sys/i386/include/cpufunc.h b/sys/i386/include/cpufunc.h index b200588b073..5ee516656d7 100644 --- a/sys/i386/include/cpufunc.h +++ b/sys/i386/include/cpufunc.h @@ -91,14 +91,6 @@ disable_intr(void) } #ifdef _KERNEL -static __inline void -do_cpuid(u_int ax, u_int *p) -{ - __asm __volatile("cpuid" - : "=a" (p[0]), "=b" (p[1]), "=c" (p[2]), "=d" (p[3]) - : "0" (ax)); -} - static __inline void cpuid_count(u_int ax, u_int cx, u_int *p) { @@ -107,18 +99,6 @@ cpuid_count(u_int ax, u_int cx, u_int *p) : "0" (ax), "c" (cx)); } #else -static __inline void -do_cpuid(u_int ax, u_int *p) -{ - __asm __volatile( - "pushl\t%%ebx\n\t" - "cpuid\n\t" - "movl\t%%ebx,%1\n\t" - "popl\t%%ebx" - : "=a" (p[0]), "=DS" (p[1]), "=c" (p[2]), "=d" (p[3]) - : "0" (ax)); -} - static __inline void cpuid_count(u_int ax, u_int cx, u_int *p) { @@ -132,6 +112,12 @@ cpuid_count(u_int ax, u_int cx, u_int *p) } #endif +static __inline void +do_cpuid(u_int ax, u_int *p) +{ + cpuid_count(ax, 0, p); +} + static __inline void enable_intr(void) {