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

