aboutsummaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorFupan Li <fupan.li@windriver.com>2015-08-04 09:51:21 +0800
committerMoyster <oysterized@gmail.com>2016-08-26 19:58:54 +0200
commit077f3aabe7a649dece656d06c58ca81275494b0f (patch)
tree31acdb9ec5394bbdb944cf9b5e29639964cf957b /arch
parent3e671de3b968496e1e2c1f7d579f5a7bd33971c7 (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> Signed-off-by: Stefan Guendhoer <stefan@guendhoer.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 abb988a54..3b28eff9b 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