[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1366712152-8097-1-git-send-email-bp@alien8.de>
Date: Tue, 23 Apr 2013 12:15:50 +0200
From: Borislav Petkov <bp@...en8.de>
To: LKML <linux-kernel@...r.kernel.org>
Cc: "H. Peter Anvin" <hpa@...or.com>,
Matt Fleming <matt@...sole-pimps.org>,
David Woodhouse <dwmw2@...radead.org>,
Matthew Garrett <matthew.garrett@...ula.com>,
Borislav Petkov <bp@...e.de>
Subject: [RFC PATCH 0/2] EFI runtime services 1:1 mapping
From: Borislav Petkov <bp@...e.de>
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 majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists