summaryrefslogtreecommitdiff
path: root/arch
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:20:31 -0700
commit8492fd437ef59a2a2ed2f312466c48f202458faf (patch)
treeb0e85d1f4a1e18e42a945954a30c13606c39d69e /arch
parent92eba7ddb962d2c4236edd78bcc66263d934f2e0 (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>
Diffstat (limited to 'arch')
-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 abb988a54c69..3b28eff9b90b 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