From: Andrew Morton *** Warning: "serialize_cpu" [arch/x86_64/kernel/microcode.ko] undefined! I couldn't immediately think of a claver way of avoiding duplication of the implementation. Cc: Zachary Amsden Signed-off-by: Andrew Morton --- arch/i386/kernel/microcode.c | 1 + include/asm-x86_64/processor.h | 5 +++++ asm-i386/processor.h | 0 3 files changed, 6 insertions(+) diff -puN arch/i386/kernel/microcode.c~i386-arch-cleanup-seralize-msr-fix arch/i386/kernel/microcode.c --- 25/arch/i386/kernel/microcode.c~i386-arch-cleanup-seralize-msr-fix 2005-07-30 23:40:17.000000000 -0700 +++ 25-akpm/arch/i386/kernel/microcode.c 2005-07-30 23:40:34.000000000 -0700 @@ -83,6 +83,7 @@ #include #include #include +#include MODULE_DESCRIPTION("Intel CPU (IA-32) Microcode Update Driver"); MODULE_AUTHOR("Tigran Aivazian "); diff -puN include/asm-i386/processor.h~i386-arch-cleanup-seralize-msr-fix include/asm-i386/processor.h diff -puN include/asm-x86_64/processor.h~i386-arch-cleanup-seralize-msr-fix include/asm-x86_64/processor.h --- 25/include/asm-x86_64/processor.h~i386-arch-cleanup-seralize-msr-fix 2005-07-30 23:42:09.000000000 -0700 +++ 25-akpm/include/asm-x86_64/processor.h 2005-07-30 23:42:34.000000000 -0700 @@ -439,6 +439,11 @@ static inline void prefetchw(void *x) outb((data), 0x23); \ } while (0) +static inline void serialize_cpu(void) +{ + __asm__ __volatile__ ("cpuid" : : : "ax", "bx", "cx", "dx"); +} + static inline void __monitor(const void *eax, unsigned long ecx, unsigned long edx) { _