summaryrefslogtreecommitdiff
path: root/arch/x86
diff options
context:
space:
mode:
authorFupan Li <fupan.li@windriver.com>2015-08-04 04:51:21 +0300
committerJiri Slaby <jslaby@suse.cz>2015-08-05 10:30:32 +0300
commitbe9382caaa4c843d86ce5d107bd41dfcc722d395 (patch)
tree47e362ee58b9a9589bd12d783536dc2f0b015d1a /arch/x86
parent1798326e7ecd25c0f6498362c196d688f5f85139 (diff)
downloadlinux-be9382caaa4c843d86ce5d107bd41dfcc722d395.tar.xz
efi: fix 32bit kernel boot failed problem using efi
3.12 commit 065487a10a22a960bc4e41facb011d10692ef470 ("x86/efi: Correct EFI boot stub use of code32_start"), upstream commit 7e8213c1f3acc064aef37813a39f13cbfe7c3ce7 imported a bug, which will cause 32bit kernel boot to fail using EFI method. It should use the label's address instead of the value stored in the label to calculate 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: Jiri Slaby <jslaby@suse.cz>
Diffstat (limited to 'arch/x86')
-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 b1bd969e26aa..36ddc61182af 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