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, 
Ben 
-- 

_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to