By hard-coding the cpuid keys for alternative_smp() rather than using
the symbolic constant it turned out that incorrect values were used on
both i386 (0x68 instead of 0x69) and x86-64 (0x66 instead of 0x68).
Signed-off-by: Jan Beulich <[email protected]>
--- linux-2.6.18-rc4/include/asm-i386/alternative.h 2006-08-15 11:29:59.000000000 +0200
+++ 2.6.18-rc4-x86-alternatives-key/include/asm-i386/alternative.h 2006-08-15 15:21:15.000000000 +0200
@@ -116,7 +116,7 @@ static inline void alternatives_smp_swit
" .align 4\n" \
" .long 661b\n" /* label */ \
" .long 663f\n" /* new instruction */ \
- " .byte 0x68\n" /* X86_FEATURE_UP */ \
+ " .byte " __stringify(X86_FEATURE_UP) "\n" \
" .byte 662b-661b\n" /* sourcelen */ \
" .byte 664f-663f\n" /* replacementlen */ \
".previous\n" \
--- linux-2.6.18-rc4/include/asm-x86_64/alternative.h 2006-08-15 11:30:02.000000000 +0200
+++ 2.6.18-rc4-x86-alternatives-key/include/asm-x86_64/alternative.h 2006-08-15 15:22:41.000000000 +0200
@@ -130,7 +130,7 @@ static inline void alternatives_smp_swit
" .align 8\n" \
" .quad 661b\n" /* label */ \
" .quad 663f\n" /* new instruction */ \
- " .byte 0x66\n" /* X86_FEATURE_UP */ \
+ " .byte " __stringify(X86_FEATURE_UP) "\n" \
" .byte 662b-661b\n" /* sourcelen */ \
" .byte 664f-663f\n" /* replacementlen */ \
".previous\n" \
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]