On Thu, Mar 11, 2021 at 11:36:26PM +0100, Mark Kettenis wrote:
> The UEFI standard indicates that the EfiBootServicesCode and
> EfiBootServicesData memory types are available for general use after
> ExitBootServices() has been called.  So unless the firmware is really
> really buggy, this should be safe and give us a bit more memory.
Not all too familar with it but I did came across this once while
reading the spec so I looked it up;  Version 2.8 Errata B lists exactly
these three types as "Memory available for general use" *after*
ExitBootServices().

> Tested this on three different UEFI implementations already.  But a
> bit more testing is always good.
I have no arm64 to test but as you said, unless the specs are violated,
this should just work.

With that diff, the comment above the for loop is outdated.

> The reason I want this is that I'm in a bit of a bind with Apple M1
> support.  The U-Boot port I'm writing will mark a large chunk of
> memory as EfiBootServicesData.  This diff makes sure we can use that
> chunk in OpenBSD.
armv7 has the same bits, do you leave that untouched due to lack of
testing or is there any other reason not to sync?

Reply via email to