Re: [PATCH -v2 0/4] EFI 1:1 mapping

James Bottomley
2013-06-19T16:50:44Z

On Wed, 2013-06-19 at 18:38 +0200, Borislav Petkov wrote:
> On Wed, Jun 19, 2013 at 05:21:15PM +0100, Matthew Garrett wrote:
> > Yes, kexec needs a different solution.
>
> No need. If we say, "efi=use_11_map", the 1:1 map will be shoved down
> SetVirtualAddressMap. Otherwise the high mappings.
>
> > Because firmware images don't always update all of the pointers, and
> > so will crash if the 1:1 mappings aren't present.
>
> Ok, so it sounds like we want to *always* create both mappings but,
> depending on what we want, to shove down SetVirtualAddressMap a
> different set. And the 1:1 map will be the optional one which we give
> SetVirtualAddressMap only when user wants it, i.e. when booting with
> "efi=1:1_map".
>
> Makes sense?

I think it will work. The only thing I'd worry about is aliasing. This
scheme clearly won't work for any virtually indexed processor (so it's
basically x86 only) but even on Physically Indexed, you do have to make
sure the cache attributes of any given page are the same for all virtual
address aliases. As long as the 1:1 mapping is writeback, I think this
is satisfied.

James