efi: fix 32bit kernel boot failed problem using efi
authorFupan Li <fupan.li@windriver.com>
Tue, 4 Aug 2015 01:51:21 +0000 (09:51 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 10 Aug 2015 19:20:31 +0000 (12:20 -0700)
Commit 35d5134b7d5a
("x86/efi: Correct EFI boot stub use of code32_start")
imported a bug, which will cause 32bit kernel boot failed
using efi method. It should use the label's address instead
of the value stored in the label to caculate the address of
code32_start.

Signed-off-by: Fupan Li <fupan.li@windriver.com>
Reviewed-by: Matt Fleming <matt.fleming@intel.com>
arch/x86/boot/compressed/head_32.S

index abb988a54c69337d54b62f0317d617f7dc3d108b..3b28eff9b90b76011b9025af25a5b0c9ec53f98e 100644 (file)
@@ -54,7 +54,7 @@ ENTRY(efi_pe_entry)
        call    reloc
 reloc:
        popl    %ecx
-       subl    reloc, %ecx
+       subl    $reloc, %ecx
        movl    %ecx, BP_code32_start(%eax)
 
        sub     $0x4, %esp