aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/platform/efi/efi_stub_64.S
diff options
context:
space:
mode:
authorMatt Fleming <matt.fleming@intel.com>2014-01-10 18:48:30 +0000
committerMatt Fleming <matt.fleming@intel.com>2014-03-04 21:43:14 +0000
commit4f9dbcfc40299ddaa780fe8c1cd74998c1be3af5 (patch)
treef6d2f85b23fae5ee8d9da79f30c47351aa890d5b /arch/x86/platform/efi/efi_stub_64.S
parentx86/efi: Firmware agnostic handover entry points (diff)
downloadlinux-dev-4f9dbcfc40299ddaa780fe8c1cd74998c1be3af5.tar.xz
linux-dev-4f9dbcfc40299ddaa780fe8c1cd74998c1be3af5.zip
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>
Diffstat (limited to 'arch/x86/platform/efi/efi_stub_64.S')
-rw-r--r--arch/x86/platform/efi/efi_stub_64.S1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/x86/platform/efi/efi_stub_64.S b/arch/x86/platform/efi/efi_stub_64.S
index a790d69cc85e..e811514beeac 100644
--- a/arch/x86/platform/efi/efi_stub_64.S
+++ b/arch/x86/platform/efi/efi_stub_64.S
@@ -318,3 +318,4 @@ efi_gdt64_end:
ENTRY(efi_scratch)
.fill 3,8,0
.byte 0
+ .quad 0