Hey Sai and others,

I did not verify this is actually the case for QEMU, but the mentioned range is 
usually the SMRAM ASEG.
SMRAM ranges are not reported in the Memory Map by-design.

Regards,
Marvin

> -----Original Message-----
> From: edk2-devel <edk2-devel-boun...@lists.01.org> On Behalf Of Prakhya,
> Sai Praneeth
> Sent: Tuesday, May 15, 2018 3:29 AM
> To: Bill Paul <wp...@windriver.com>; edk2-devel@lists.01.org
> Cc: Neri, Ricardo <ricardo.n...@intel.com>
> Subject: Re: [edk2] Query regarding hole in EFI Memory Map
> 
> > 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
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to