public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Bill Paul <wpaul@windriver.com>
To: <edk2-devel@lists.01.org>
Cc: "Prakhya, Sai Praneeth" <sai.praneeth.prakhya@intel.com>,
	"Neri, Ricardo" <ricardo.neri@intel.com>
Subject: Re: Query regarding hole in EFI Memory Map
Date: Mon, 14 May 2018 18:12:37 -0700	[thread overview]
Message-ID: <201805141812.37378.wpaul@windriver.com> (raw)
In-Reply-To: <FFF73D592F13FD46B8700F0A279B802F38FD1631@ORSMSX114.amr.corp.intel.com>

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).

-Bill


> 
> 
> Please let me know if you want me to post the EFI Memory Map or E820 map
> that I am looking at.
> 
> Note: I have also observed the same hole in E820 map.
> 
> 
> 
> Regards,
> 
> Sai
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel
-- 
=============================================================================
-Bill Paul            (510) 749-2329 | Senior Member of Technical Staff,
                 wpaul@windriver.com | Master of Unix-Fu - Wind River Systems
=============================================================================
   "I put a dollar in a change machine. Nothing changed." - George Carlin
=============================================================================


  reply	other threads:[~2018-05-15  1:15 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-14 23:30 Query regarding hole in EFI Memory Map Prakhya, Sai Praneeth
2018-05-15  1:12 ` Bill Paul [this message]
2018-05-15  1:18   ` Tim Lewis
2018-05-15  1:29   ` Prakhya, Sai Praneeth
2018-05-16  8:07     ` Marvin H?user
2018-05-17 23:36       ` Prakhya, Sai Praneeth

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201805141812.37378.wpaul@windriver.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox