public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Laszlo Ersek <lersek@redhat.com>
To: spam collector <spamcollector@cableone.net>
Cc: edk2-devel@ml01.01.org
Subject: Re: OVMF.fd and placement of EfiBootServicesData
Date: Mon, 3 Oct 2016 11:42:08 +0200	[thread overview]
Message-ID: <9f2b0b8c-9bfb-dd73-f7cb-cd6df775c237@redhat.com> (raw)
In-Reply-To: <1825038664.87486514.1475464584880.JavaMail.zimbra@cableone.net>

On 10/03/16 05:16, spam collector wrote:
> Hello, 
> Forgive me for not searching for this first, but gmane.org has 
> been down for a little while. Therefore, forgive me if this 
> question has been asked and answered. 
> I am using OVMF.fd and QEMU for Windows and tried to load 
> a large file to physical address 0x00800000. When an error 
> was returned, I found that OVMF has reserved an amount of 
> EfiBootServicesData within/around that location. 
> Here is a memory dump using the BootServices MemoryMap Service: 
> Start: 0x00000000->0x0009FFFF, Pgs: 160, EfiConventionalMem 
> Start: 0x00100000->0x003FFFFF, Pgs: 768, EfiConventionalMem 
> Start: 0x00400000->0x0040BFFF, Pgs: 12, EfiBootServicesCode 
> Start: 0x0040C000->0x0081FFFF, Pgs: 1044, EfiConventionalMem 
> Start: 0x00820000->0x00FFFFFF, Pgs: 2016, EfiBootServicesData 
> Start: 0x01000000->0x0BFFFFFF, Pgs: 1044, EfiConventionalMem 
> ... and so on 
> Without the idea of "you should make your code relocatable, 
> i.e.: not care where it is in memory", or if I say that I *must* have 
> the memory from 0x00800000 to 0x00FFFFFFavailable, 
> without re-building OVMF.fd, is there a way to tell the system 
> to use a different address for that portion of EfiBootServiceCode? 
> I tried manipulating NvVars with a few entries to no avail. 
> I added the "LoadFixedAddressConfigurationTable" entry hoping 
> that I could set a minimum location, too without success. 
> So, without rebuilding OVMF.fd, which would require everyone 
> whom wished to use my code to do so, or at least download it 
> from me, and I don't like modified packages of other's work 
> floating around, is there a why to tell OVMF.fd/the EFI system 
> to not use memory below a certain address? 
> Thank you in advance for your suggestions, 

Sorry, I don't think I can help.

You can read about the OVMF memory map in the (now somewhat outdated)
OVMF whitepaper at

  http://www.linux-kvm.org/downloads/lersek/ovmf-whitepaper-c770f8c.txt

section

  A comprehensive memory map of OVMF

You'd like to place your stuff at 8192 KB .. 16384 KB, but as you can
see from the map, that exact range is heavily used by OVMF itself.

(As I said, some of those exact values are no longer current, due to the
following commits since:

  08df58ec3043 OvmfPkg: raise DXEFV size to 9 MB
  2f7b34b20842 OvmfPkg: raise DXEFV size to 10 MB
  45d870815156 OvmfPkg/PlatformPei: rebase and resize the permanent PEI
               memory for S3
  6b04cca4d697 OvmfPkg: remove PcdS3AcpiReservedMemoryBase,
               PcdS3AcpiReservedMemorySize

but the main layout remains the same.)

Please consider making your code relocatable.

Thanks
Laszlo


  reply	other threads:[~2016-10-03  9:42 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1063482308.87469389.1475464272414.JavaMail.zimbra@cableone.net>
2016-10-03  3:16 ` OVMF.fd and placement of EfiBootServicesData spam collector
2016-10-03  9:42   ` Laszlo Ersek [this message]
2016-10-04  2:45     ` spam collector
2016-10-04  7:52       ` Laszlo Ersek
2016-10-04 16:39         ` spam collector
2016-10-04 17:22           ` Laszlo Ersek
2016-10-05  2:47             ` spam collector
2016-10-05 15:28               ` Laszlo Ersek
2016-10-06  3:05                 ` spam collector
2016-10-06  7:39                   ` Laszlo Ersek
2016-10-07  3:11                     ` spam collector
2016-10-07 15:08                       ` Laszlo Ersek
2016-10-06  5:45                 ` spam collector
2016-10-06  7:47                   ` Laszlo Ersek

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=9f2b0b8c-9bfb-dd73-f7cb-cd6df775c237@redhat.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