]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commit850428c677552c3394810c168bcffd999d9ce908
tree80251a960a808ee33b4822b5613b55ceec28c714
parent7d79fac265d60b7b5cef5ba9f468ab1b723a0b3e
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