Messages in this thread Patch in this message | | | From | Andy Lutomirski <> | Subject | [PATCH] x86-32: Fix boot with CONFIG_X86_INVD_BUG | Date | Thu, 25 Aug 2011 16:10:33 -0400 |
| |
entry_32.S contained a hardcoded alternative instruction entry, and the format changed in:
commit 59e97e4d6fbcd5b74a94cb48bcbfc6f8478a5e93 Author: Andy Lutomirski <luto@mit.edu> Date: Wed Jul 13 09:24:10 2011 -0400
x86: Make alternative instruction pointers relative
Replace it with the altinstruction_entry macro. This fixes the 32-bit boot with CONFIG_X86_INVD_BUG=y.
Reported-by: Arnaud Lacombe <lacombar@gmail.com> Signed-off-by: Andy Lutomirski <luto@mit.edu> ---
Arnaud, can you test this?
Thanks, Andy
arch/x86/kernel/entry_32.S | 8 ++------ 1 files changed, 2 insertions(+), 6 deletions(-)
diff --git a/arch/x86/kernel/entry_32.S b/arch/x86/kernel/entry_32.S index 5c1a9197..f3f6f53 100644 --- a/arch/x86/kernel/entry_32.S +++ b/arch/x86/kernel/entry_32.S @@ -54,6 +54,7 @@ #include <asm/ftrace.h> #include <asm/irq_vectors.h> #include <asm/cpufeature.h> +#include <asm/alternative-asm.h> /* Avoid __ASSEMBLER__'ifying <linux/audit.h> just for this. */ #include <linux/elf-em.h> @@ -873,12 +874,7 @@ ENTRY(simd_coprocessor_error) 661: pushl_cfi $do_general_protection 662: .section .altinstructions,"a" - .balign 4 - .long 661b - .long 663f - .word X86_FEATURE_XMM - .byte 662b-661b - .byte 664f-663f + altinstruction_entry 661b, 663f, X86_FEATURE_XMM, 662b-661b, 664f-663f .previous .section .altinstr_replacement,"ax" 663: pushl $do_simd_coprocessor_error -- 1.7.6
| |