]> git.baikalelectronics.ru Git - kernel.git/commit
x86/efi: Add mixed runtime services support
authorMatt Fleming <matt.fleming@intel.com>
Fri, 10 Jan 2014 18:48:30 +0000 (18:48 +0000)
committerMatt Fleming <matt.fleming@intel.com>
Tue, 4 Mar 2014 21:43:14 +0000 (21:43 +0000)
commit13e9e6b56b3084400e57796e5193c85e678ce45d
treef6d2f85b23fae5ee8d9da79f30c47351aa890d5b
parent752d1f4e64162e6b2d94d2276e1d3fdc6663e991
x86/efi: Add mixed runtime services support

Setup the runtime services based on whether we're booting in EFI native
mode or not. For non-native mode we need to thunk from 64-bit into
32-bit mode before invoking the EFI runtime services.

Using the runtime services after SetVirtualAddressMap() is slightly more
complicated because we need to ensure that all the addresses we pass to
the firmware are below the 4GB boundary so that they can be addressed
with 32-bit pointers, see efi_setup_page_tables().

Signed-off-by: Matt Fleming <matt.fleming@intel.com>
arch/x86/include/asm/efi.h
arch/x86/platform/efi/Makefile
arch/x86/platform/efi/efi.c
arch/x86/platform/efi/efi_64.c
arch/x86/platform/efi/efi_stub_64.S
arch/x86/platform/efi/efi_thunk_64.S [new file with mode: 0644]