[UEFI] Holes and missing regions in GetMemoryMap?
Posted: Thu Jul 08, 2021 1:27 pm
I think I know the answer to this but I want to check;
I am using EFI boot services GetMemoryMap and it returns me a list of regions that I can separate out as usable RAM, reserved, etc.
However, the amount of memory reported (even when taking all the types into account) is not at all what I've set in the VM I'm running.
From discussions elsewhere and in the Linux kernel it appears that this is "as expected" because the boot services simply don't map out all of RAM, just some of it and that it will depend on firmware. I'm using VirtualBox and VMWare which I believe both use Tianocore (OVMF I suppose).
The other alternative I know of is a full E820 solution, but I was hoping I wouldn't have to deal with that by booting as EFI.
Is this The Way..?
I am using EFI boot services GetMemoryMap and it returns me a list of regions that I can separate out as usable RAM, reserved, etc.
However, the amount of memory reported (even when taking all the types into account) is not at all what I've set in the VM I'm running.
From discussions elsewhere and in the Linux kernel it appears that this is "as expected" because the boot services simply don't map out all of RAM, just some of it and that it will depend on firmware. I'm using VirtualBox and VMWare which I believe both use Tianocore (OVMF I suppose).
The other alternative I know of is a full E820 solution, but I was hoping I wouldn't have to deal with that by booting as EFI.
Is this The Way..?