summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFupan Li <fupan.li@windriver.com>2015-08-04 09:51:21 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-08-10 12:21:06 -0700
commit9a9f238fd717519adf1ecc54d66763b06d81e6e3 (patch)
treec87b0eab6b23c8bcbd12e4bb50ac55727630d1b8
parent00e59335e5d7e36ad36b4702a9dc6038ab9c0198 (diff)
efi: fix 32bit kernel boot failed problem using efi
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>
-rw-r--r--arch/x86/boot/compressed/head_32.S2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/boot/compressed/head_32.S b/arch/x86/boot/compressed/head_32.S
index c5b56ed10aff..a814c80eb580 100644
--- a/arch/x86/boot/compressed/head_32.S
+++ b/arch/x86/boot/compressed/head_32.S
@@ -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