summaryrefslogtreecommitdiff
path: root/OvmfPkg/PlatformPei/MemDetect.c
diff options
context:
space:
mode:
authorjljusten <jljusten@6f19259b-4bc3-4df7-8a09-765794883524>2010-01-04 16:17:59 +0000
committerjljusten <jljusten@6f19259b-4bc3-4df7-8a09-765794883524>2010-01-04 16:17:59 +0000
commitc1c2669c6bb3ed4e23c06a93e60450a4fc3eccf2 (patch)
tree844feddcd621f20d1d6e27eb3efc0bc437367112 /OvmfPkg/PlatformPei/MemDetect.c
parent8cf01cae78c1e7b823587aac1b672a8c5adccaa9 (diff)
downloadedk2-platforms-c1c2669c6bb3ed4e23c06a93e60450a4fc3eccf2.tar.xz
OVMF: Update OVMF FD/FV build to minimize ROM size
* Only SEC is uncompressed now * The MAIN FV with PEI & DXE can easily shrink and grow as needed * The final output will now be OVMF.Fv rather than OVMF.fd * The final output size will be a multiple of 64kb git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9672 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'OvmfPkg/PlatformPei/MemDetect.c')
-rw-r--r--OvmfPkg/PlatformPei/MemDetect.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/OvmfPkg/PlatformPei/MemDetect.c b/OvmfPkg/PlatformPei/MemDetect.c
index daa83a0014..30ee2b1772 100644
--- a/OvmfPkg/PlatformPei/MemDetect.c
+++ b/OvmfPkg/PlatformPei/MemDetect.c
@@ -27,6 +27,7 @@ Module Name:
#include <Library/DebugLib.h>
#include <Library/HobLib.h>
#include <Library/IoLib.h>
+#include <Library/PcdLib.h>
#include <Library/PeimEntryPoint.h>
#include <Library/ResourcePublicationLib.h>
@@ -79,8 +80,15 @@ MemDetect (
//
TotalMemorySize = (UINT64)GetSystemMemorySize ();
- MemoryBase = 0x800000;
- MemorySize = TotalMemorySize - MemoryBase - 0x100000;
+ //
+ // Determine the range of memory to use during PEI
+ //
+ MemoryBase = PcdGet32 (PcdOvmfMemFvBase) + PcdGet32 (PcdOvmfMemFvSize);
+ MemorySize = TotalMemorySize - MemoryBase;
+ if (MemorySize > SIZE_16MB) {
+ MemoryBase = TotalMemorySize - SIZE_16MB;
+ MemorySize = SIZE_16MB;
+ }
//
// Publish this memory to the PEI Core
@@ -92,8 +100,8 @@ MemDetect (
// Create memory HOBs
//
AddMemoryBaseSizeHob (MemoryBase, MemorySize);
- AddMemoryRangeHob (0x100000, 0x800000);
- AddMemoryRangeHob (0x000000, 0x0A0000);
+ AddMemoryRangeHob (BASE_1MB, MemoryBase);
+ AddMemoryRangeHob (0, BASE_512KB + BASE_128KB);
return EFI_SUCCESS;
}