Messages in this thread | | | Date | Thu, 6 Jun 2013 21:18:28 +0100 | From | Matthew Garrett <> | Subject | Re: [PATCH 3/4] x86, efi: Add an efi= kernel command line parameter |
| |
On Thu, Jun 06, 2013 at 10:07:05PM +0200, Borislav Petkov wrote: > On Thu, Jun 06, 2013 at 08:54:50PM +0100, Matthew Garrett wrote: > > We want both to be available when we're making the call, but I think > > we should probably enter via the high addresses. The only reason we're > > doing this at all is that some systems don't update all of their > > pointers from physical mode, and we'd prefer them to work rather than > > fault... > > Actually, we do the 1:1 thing so that EFI runtime works in a kexec > kernel too. Which won't work if we use the high addresses.
kexec seems like a lower priority than compatibility. Perhaps keep the efi argument for people who want to use kexec? hpa suggested allocating a fixed high area for UEFI mappings, which would also solve this.
> However, if we can use the 1:1 map *after* SetVirtualAddressMap() has > been called with the high mappings, then my issue is solved - we drop > to using 1:1 in the kexec kernel only. But I don't think that is the > case...
Yeah, calling SetVirtualAddressMap() with high addresses is going to result in the firmware having a bunch of pointers to high addresses.
-- Matthew Garrett | mjg59@srcf.ucam.org
| |