From: Borislav Petkov <[email protected]> Ok,
this is a first attempt to establish EFI runtime services regions mappings into ->trampoline_pgd so that the prior can be used in kexec, for example. The more I'm dealing with this, the more I can't shake the idiocy of the decision to make SetVirtualAddressMap() be callable only once per boot. And for that decision, we're jumping through hoops in the kernel. Oh well, one can hack on EFI and hate it at the same time :-). So this is 64-only for now, it barely works in the sense that I can call efi.get_time() through the new mappings. What still is an issue is GetNextVariableName, for example, whose second and third arg are I/O and, of course, not mapped. I still need to think about how to do that (map them temporary, have a single mapped page where I shovel data to and fro or something even better). Anyway, this is just an RFC to sense the kosher-ness of the general direction and to get people's opinion early enough. Thanks for the review. Borislav Petkov (2): x86, cpa: Map in an arbitrary pgd x86, efi: Add 1:1 mapping of runtime services arch/x86/include/asm/efi.h | 2 + arch/x86/include/asm/pgtable_types.h | 3 +- arch/x86/mm/pageattr.c | 80 ++++++++++++++++++++++++++-------- arch/x86/platform/efi/efi.c | 84 ++++++++++++++++++++++++++---------- arch/x86/platform/efi/efi_stub_64.S | 39 +++++++++++++++++ 5 files changed, 167 insertions(+), 41 deletions(-) -- 1.8.2.135.g7b592fa -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

