diff options
author | jljusten <jljusten@6f19259b-4bc3-4df7-8a09-765794883524> | 2010-01-04 16:17:59 +0000 |
---|---|---|
committer | jljusten <jljusten@6f19259b-4bc3-4df7-8a09-765794883524> | 2010-01-04 16:17:59 +0000 |
commit | c1c2669c6bb3ed4e23c06a93e60450a4fc3eccf2 (patch) | |
tree | 844feddcd621f20d1d6e27eb3efc0bc437367112 /OvmfPkg/PlatformPei/MemDetect.c | |
parent | 8cf01cae78c1e7b823587aac1b672a8c5adccaa9 (diff) | |
download | edk2-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.c | 16 |
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;
}
|