x86/efi: Add early thunk code to go from 64-bit to 32-bit
authorMatt Fleming <matt.fleming@intel.com>
Fri, 10 Jan 2014 15:37:17 +0000 (15:37 +0000)
committerMatt Fleming <matt.fleming@intel.com>
Tue, 4 Mar 2014 21:25:04 +0000 (21:25 +0000)
commit0154416a71c2a84c3746c8dd8ed25287e36934d3
tree80251a960a808ee33b4822b5613b55ceec28c714
parent54b52d87268034859191d671505bb1cfce6bd74d
x86/efi: Add early thunk code to go from 64-bit to 32-bit

Implement the transition code to go from IA32e mode to protected mode in
the EFI boot stub. This is required to use 32-bit EFI services from a
64-bit kernel.

Since EFI boot stub is executed in an identity-mapped region, there's
not much we need to do before invoking the 32-bit EFI boot services.
However, we do reload the firmware's global descriptor table
(efi32_boot_gdt) in case things like timer events are still running in
the firmware.

Signed-off-by: Matt Fleming <matt.fleming@intel.com>
arch/x86/boot/compressed/efi_stub_64.S
arch/x86/platform/efi/efi_stub_64.S