Re: ACPI flow for reserved memory

From: Sami Mujawar
Date: Mon Mar 07 2022 - 12:49:44 EST


Hi Bharat,

The UEFI specification version 2.9, section 7.2 Memory Allocation Services, EFI_BOOT_SERVICES.GetMemoryMap(), page 172 states the following:
"... Regions that are backed by physical hardware, but are not supposed to be accessed by the OS, must be returned as EfiReservedMemoryType. ..."

This can be achieved by adding the memory region as Reserved Memory in the firmware.
Example:

Status = gDS->AddMemorySpace (
EfiGcdMemoryTypeReserved,
ReservedMemBase,
ReservedMemSize,
EFI_MEMORY_UC
);
if (EFI_ERROR (Status)) {
DEBUG ((
DEBUG_ERROR,
"Failed to add memory space. Status = %r\n",
Status
));
return Status;
}

Hope this helps. Please let me know if you have any further queries.

Regards,

Sami Mujawar

On 04/03/2022, 17:14, "Sudeep Holla" <sudeep.holla@xxxxxxx> wrote:

Hi Bharat,

I am not UEFI expert but I was sure there would be some options for this.
Checking with Sami(cc-ed), confirmed the same.

On Thu, Mar 03, 2022 at 11:07:54AM +0000, Bharat Kumar Gogada wrote:
> Hi All,
>
> In device tree we have several ways to
> reserve memory (https://github.com/Xilinx/linux-xlnx/blob/master/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt).
>
> Can anyone please help equivalent flow for ACPI.

@Sami, please share any details you may have.

--
Regards,
Sudeep