Question

I am wondering if it is possible to allocate the memory buffer whose "physical address" is beyond 4GB in efi application ?

Ex. There is 6GB DRAM installed on PC and efi application allocates 4KB buffer and its physical memory address is 0x100000000(=4GB)

Is it OK ?

Was it helpful?

Solution

On a 32-bit platform this would not be possible, even if address extension technology permits more than 4GB to be installed. This is because of the requirement that all RAM is mapped 1:1 physical:virtual address.

On a 64-bit platform this should work just fine, as long as no silly platform-specific firmware bugs prevent it.

Some early x64 UEFI "bioses" forgot to actually map RAM >4GB - causing access violation errors, but on anything that was actually ever properly verified in anything other than BIOS compatibility mode (CSM), this will work fine.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top