From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.cableone.net (mail.cableone.syn-alias.com [64.8.70.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 169DD1A1E7E for ; Sun, 2 Oct 2016 20:16:27 -0700 (PDT) X_CMAE_Category: , , X-CNFS-Analysis: v=2.2 cv=ZZVfDYdA c=1 sm=1 tr=0 a=F7HL8DhlWvVqsgDc77s/Qg==:117 a=FKkrIqjQGGEA:10 a=m0sRR0la7fUA:10 a=TSbVqHtbAAAA:8 a=NOWxyGigS90x57O9Yh0A:9 a=FBXy1Q27sDSA5W30:21 a=oalI-WrlzuZvGV0d:21 a=QEXdDO2ut3YA:10 a=gl9R1c_9TizkNirhsJAA:9 a=wOruFob0qnsOb9nn:21 a=_W_S_7VecoQA:10 a=NJcUIoPEKLAEIzHnl83t:22 X-CM-Score: 0 X-Scanned-by: Cloudmark Authority Engine X-Authed-Username: c3BhbWNvbGxlY3RvckBjYWJsZW9uZS5uZXQ= Received: from [10.203.0.111] ([10.203.0.111:45745] helo=md11.cableone.synacor.com) by mail.cableone.net (envelope-from ) (ecelerity 3.6.6.45965 r(Core:3.6.6.0)) with ESMTP id 75/6E-07644-98DC1F75; Sun, 02 Oct 2016 23:16:25 -0400 Date: Sun, 2 Oct 2016 23:16:24 -0400 (EDT) From: spam collector To: edk2-devel@lists.01.org Message-ID: <1825038664.87486514.1475464584880.JavaMail.zimbra@cableone.net> In-Reply-To: <1063482308.87469389.1475464272414.JavaMail.zimbra@cableone.net> MIME-Version: 1.0 X-Originating-IP: [174.126.140.68] X-Mailer: Zimbra 8.0.7_GA_6021 (ZimbraWebClient - FF49 (Win)/8.0.7_GA_6021) Thread-Topic: OVMF.fd and placement of EfiBootServicesData Thread-Index: o/PNlLxe584MI1V0x7RXGl9yJD1eag== X-Content-Filtered-By: Mailman/MimeDel 2.1.21 Subject: OVMF.fd and placement of EfiBootServicesData X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Oct 2016 03:16:27 -0000 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit 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 --