Re: [edk2] Corrupted EFI region

Matt Fleming
2013-08-07T20:19:08Z

[ Readding Matthew Garrett to the Cc list, seeing as we both got removed
for some unknown reason ]

On Wed, 07 Aug, at 10:23:56AM, Andrew Fish wrote:

> OK so I think I need some Cliff Notes here to help me understand what
> is going on...
>
> type 4 is EfiBootServicesData and attr 0x0f is cache attributes with
> no request for a runtime mapping. This is not runtime memory so to the
> OS loader it is just memory EFI has used that will get freed back to
> the OS after ExitBootServices(), along with EfiBootServicesCode,
> EfiLoaderCode, and EfiLoaderData. The EfiLoaderCode and EfiLoaderData
> also get freed back to the OS and they just exist for the convenience
> of the OS loader.
>
> So I can't figure out why this maters? Given:

We've seen a bunch of systems that make calls into EfiBootServicesCode
after ExitBootServices(). There were some Apple machines in that list,
though I don't have the details but Matthew should.

So we map these regions unconditionally and in their original state,
otherwise the firmware will generate fatal page faults when trying to
access those memory regions.

--
Matt Fleming, Intel Open Source Technology Center