/openbmc/linux/arch/x86/platform/efi/ |
H A D | efi_stub_64.S | diff d2f7cbe7b26a74dbbbf8f325b2a6fd01bc34032c Thu Oct 31 11:25:08 CDT 2013 Borislav Petkov <bp@suse.de> 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>
|
H A D | efi_32.c | diff d2f7cbe7b26a74dbbbf8f325b2a6fd01bc34032c Thu Oct 31 11:25:08 CDT 2013 Borislav Petkov <bp@suse.de> 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>
|
H A D | efi_64.c | diff d2f7cbe7b26a74dbbbf8f325b2a6fd01bc34032c Thu Oct 31 11:25:08 CDT 2013 Borislav Petkov <bp@suse.de> 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>
|
H A D | efi.c | diff d2f7cbe7b26a74dbbbf8f325b2a6fd01bc34032c Thu Oct 31 11:25:08 CDT 2013 Borislav Petkov <bp@suse.de> 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>
|
/openbmc/linux/arch/x86/include/asm/ |
H A D | pgtable_types.h | diff d2f7cbe7b26a74dbbbf8f325b2a6fd01bc34032c Thu Oct 31 11:25:08 CDT 2013 Borislav Petkov <bp@suse.de> 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>
|
H A D | efi.h | diff d2f7cbe7b26a74dbbbf8f325b2a6fd01bc34032c Thu Oct 31 11:25:08 CDT 2013 Borislav Petkov <bp@suse.de> 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>
|
/openbmc/linux/include/linux/ |
H A D | efi.h | diff d2f7cbe7b26a74dbbbf8f325b2a6fd01bc34032c Thu Oct 31 11:25:08 CDT 2013 Borislav Petkov <bp@suse.de> 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>
|