> Of all the gin joints in all the towns in all the world, Prakhya, Sai > Praneeth had to > walk into mine at 16:30 on Monday 14 May 2018 and say: > > > Hi All, > > > > Recently, I have observed that there was a hole in EFI Memory Map > > passed by firmware to Linux kernel. So, wanted to check with you if > > this is expected or not. > > > > My Test setup: > > I usually boot qemu with OVMF and Linux kernel. I use below command to > > boot kernel. "qemu-system-x86_64 -cpu host -hda <live-image> -serial > > stdio -bios <OVMF.fd> -m 2G -enable-kvm -smp 2" > > > > I have noticed that the EFI Memory Map (printed by kernel) is almost > > contiguous but with only one hole ranging from 0xA0000 to 0x100000. As > > far as I know, kernel hasn't modified this EFI Memory Map, so I am > > assuming that firmware has passed memory map with a hole. I have > > looked at UEFI spec "GetMemoryMap()" definition, and it says "The map > > describes all of memory, no matter how it is being used". So, I am > > thinking that EFI Memory Map shouldn't have any holes, am I correct? > > If not, could someone please explain me the reason for this hole in EFI > Memory Map. > > The map may describe all of physical RAM, however it is not necessarily the > case > that all available RAM be physically contiguous. > > With older IBM PCs based on the Intel 8088 processor, you could only have a > 1MB address space. The first 640KB was available for RAM. The remaining space > traditionally contained memory-mapped option ROMs, particularly for things > like the video BIOS routines. The VGA text screen was also mapped to 0xB8000. > > Obviously, later processors made it possible to have additional memory above > 1MB (sometimes called "high memory"), but for backward compatibility > purposes, the gap from 0xA0000 to 0xFFFFF remained. > > So basically, on Intel machines you will always see this gap in RAM due to > "hysterical raisins." It's just an artifact of the platform design. (And for > that > reason you'll see it both with the UEFI memory map facility and the legacy > E820 > BIOS facility).
Thanks a lot! for the explanation Bill. I really appreciate it :) Regards, Sai _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

