public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Paul, Bill via groups.io" <Bill.Paul=windriver.com@groups.io>
To: "devel@edk2.groups.io" <devel@edk2.groups.io>
Subject: [edk2-devel] UEFI reserving pages of memory in low memory
Date: Mon, 4 Dec 2023 22:29:54 +0000	[thread overview]
Message-ID: <2300372.Guus662Tzl@core> (raw)

Hello:

I have a question which might not be applicable to the stock Tianocore 
codebase, but I'm hoping maybe someone here might recognize what I'm asking 
about and could give me some pointers.

I have A Board (tm) with Intel Raptor Lake CPU and a UEFI 2.7-based firmware 
implementation on it. Out of the box, if I go to the UEFI shell and run the 
memmap command, I can see there is a gap in the available RAM starting at the 
2MB mark. That is, I see this:

Available  0000000000100000-00000000001FFFFF 0000000000000100 000000000000000F
Available  0000000000201000-00000000339A6FFF 00000000000337A6 000000000000000F

Near the end of the output, I also see this:

Reserved   0000000000200000-0000000000200FFF 0000000000000001 0000000000000000

The implication is that the UEFI firmware has, for some reason, decided to 
reserve the page of memory at 0x200000 for some nefarious purpose.

As it happens, this is extremely inconvenient for my purposes. In the past 
I've seen where the OVMF UEFI images for Intel will try to reserve a block at 
the 8MB mark for stashing things during S3 hibernation mode, and I've been 
able to work around that by using the -global ICH9-LPC.disable_s3=1 command 
line flag with QEMU.

But in this case, I have no idea why the firmware is reserving this page. There 
are ACPI_NVS and ACPI_Reclaim ranges too, but they are further up in RAM and 
not a concern for me.

The only clue I have is that if I dump the page at 0x200000 from the shell 
using the mem command, I see that it contains the string 'TERR' at the start, 
and a few numbers within the first 32 bytes, and the rest is all zeroes. This 
suggests some sort of anchor string, but I don't know what it means.

Can anybody think of what this reserved page is for, and if maybe the firmware 
setup menu might offer me a way to turn off whatever feature is reserving it? 
(For the record, there is an option to disable S3 sleep support and I did try 
turning that off, but it made no difference.)

Thanks in advance.

-Bill

-- 
=============================================================================
-Bill Paul            (510) 749-2329 | VxWorks Software Architect,
                 wpaul@windriver.com | Master of Unix-Fu - Wind River Systems
=============================================================================
   "I put a dollar in a change machine. Nothing changed." - George Carlin
=============================================================================




-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#112057): https://edk2.groups.io/g/devel/message/112057
Mute This Topic: https://groups.io/mt/102984294/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



                 reply	other threads:[~2023-12-05  1:40 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=2300372.Guus662Tzl@core \
    --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