Re: [PATCH] Map in physical addresses in efi_map_region_fixed

From: Borislav Petkov
Date: Tue Aug 16 2016 - 09:30:38 EST


On Tue, Aug 16, 2016 at 01:30:28PM +0100, Matt Fleming wrote:
> That's impossible, because that would mean we loaded the kexec kernel
> over the top of physical pages of EFI services. We still need to be
> able to invoke EFI services from kexec - we just can't change their
> virtual mappings.

Which would mean that whatever comes second - kexec reservation or 1:1
mappings - won't work.

> This is because of the way that the SGI firmware works and that the
> "new" virtual address mappings are usable on SGI+kexec now.

My only issue is that we probably should've aimed for avoiding that...

> No, some Apple platforms will not boot if SetVirtualAddressMap()
> passes 1:1 mappings, and we only enter the firmware via the 1:1
> mappings for EFI mixed mode calls. We're still using the virtual
> runtime mappings in the commit you reference below most of the time.

... but reasons like the above are making us run the kexec kernel with
the exact-same mappings as the boot kernel. Probably not really a big
deal since we have our own pagetable...

--
Regards/Gruss,
Boris.

ECO tip #101: Trim your mails when you reply.
--