linux/arch/x86/platform/efi
Borislav Petkov d2f7cbe7b2 x86/efi: Runtime services virtual mapping
We map the EFI regions needed for runtime services non-contiguously,
with preserved alignment on virtual addresses starting from -4G down
for a total max space of 64G. This way, we provide for stable runtime
services addresses across kernels so that a kexec'd kernel can still use
them.

Thus, they're mapped in a separate pagetable so that we don't pollute
the kernel namespace.

Add an efi= kernel command line parameter for passing miscellaneous
options and chicken bits from the command line.

While at it, add a chicken bit called "efi=old_map" which can be used as
a fallback to the old runtime services mapping method in case there's
some b0rkage with a particular EFI implementation (haha, it is hard to
hold up the sarcasm here...).

Also, add the UEFI RT VA space to Documentation/x86/x86_64/mm.txt.

Signed-off-by: Borislav Petkov <bp@suse.de>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
2013-11-02 11:09:36 +00:00
..
early_printk.c x86/efi: Add EFI framebuffer earlyprintk support 2013-10-28 18:09:58 +00:00
efi_32.c x86/efi: Runtime services virtual mapping 2013-11-02 11:09:36 +00:00
efi_64.c x86/efi: Runtime services virtual mapping 2013-11-02 11:09:36 +00:00
efi_stub_32.S x86: Move efi to platform 2010-10-27 14:30:01 +02:00
efi_stub_64.S x86/efi: Runtime services virtual mapping 2013-11-02 11:09:36 +00:00
efi-bgrt.c x86/EFI: Properly init-annotate BGRT code 2013-01-24 17:12:18 +01:00
efi.c x86/efi: Runtime services virtual mapping 2013-11-02 11:09:36 +00:00
Makefile x86/efi: Add EFI framebuffer earlyprintk support 2013-10-28 18:09:58 +00:00