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
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
Reference in New Issue
Block a user