On 15/09/2020 16:31, Leif Lindholm wrote:
On Tue, Sep 15, 2020 at 15:04:44 +0100, Grant Likely wrote:
On 15/09/2020 14:46, Leif Lindholm wrote: EfiBootServicesData: Memory still gets mapped in the linear map, but nothing protects it after ExitBootServices (would require leaving /memreserve/ intact so the OS knows to protect them).
EfiReservedMemory: (As I understand it) Doesn't need /memreserve/, but causes a change in behaviour. The memory will not appear in the linear map. This will possibly cause problems with existing drivers
EfiRuntimeServicesData: Keeps the region protected and in the linear map, but feels 'wrong'. An OS might decide to reclaim it anyway if it doesn't use runtime services (against spec?).
Other options?
I'll defer to Ard on the actual selection.
But while care should take not to actively *break* Linux (esp wrt backwards compatibility), if we end up picking one over the other based only (or mainly) on Linux internals, we need to very clearly call that out in the spec.
That's certainly my intent. This is undefined behaviour right now, so Linux behaviour is the de-facto starndard. I'd like to get that coded into a spec.
g. IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.