mirror of https://github.com/acidanthera/audk.git
OvmfPkg: introduce PublishPeiMemory
MemDetect actully does too many things, the underlying platform might want to have more control over memory layout. Extract the functionality of publishing PEI memory to a dedicated function. Also fixed wrong comment while I was there. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Wei Liu <wei.liu2@citrix.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14944 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
c7ea55b92b
commit
36658fff45
|
@ -83,11 +83,45 @@ GetSystemMemorySizeAbove4gb (
|
||||||
return LShiftU64 (Size, 16);
|
return LShiftU64 (Size, 16);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Publish PEI core memory
|
||||||
|
|
||||||
|
@return EFI_SUCCESS The PEIM initialized successfully.
|
||||||
|
|
||||||
|
**/
|
||||||
|
EFI_STATUS
|
||||||
|
PublishPeiMemory (
|
||||||
|
VOID
|
||||||
|
)
|
||||||
|
{
|
||||||
|
EFI_STATUS Status;
|
||||||
|
EFI_PHYSICAL_ADDRESS MemoryBase;
|
||||||
|
UINT64 MemorySize;
|
||||||
|
UINT64 LowerMemorySize;
|
||||||
|
|
||||||
|
LowerMemorySize = GetSystemMemorySizeBelow4gb ();
|
||||||
|
|
||||||
|
MemoryBase = PcdGet32 (PcdOvmfMemFvBase) + PcdGet32 (PcdOvmfMemFvSize);
|
||||||
|
MemorySize = LowerMemorySize - MemoryBase;
|
||||||
|
if (MemorySize > SIZE_64MB) {
|
||||||
|
MemoryBase = LowerMemorySize - SIZE_64MB;
|
||||||
|
MemorySize = SIZE_64MB;
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// Publish this memory to the PEI Core
|
||||||
|
//
|
||||||
|
Status = PublishSystemMemory(MemoryBase, MemorySize);
|
||||||
|
ASSERT_EFI_ERROR (Status);
|
||||||
|
|
||||||
|
return Status;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Peform Memory Detection
|
Peform Memory Detection
|
||||||
|
|
||||||
@return EFI_SUCCESS The PEIM initialized successfully.
|
@return Top of memory
|
||||||
|
|
||||||
**/
|
**/
|
||||||
EFI_PHYSICAL_ADDRESS
|
EFI_PHYSICAL_ADDRESS
|
||||||
|
|
|
@ -57,6 +57,11 @@ AddUntestedMemoryRangeHob (
|
||||||
EFI_PHYSICAL_ADDRESS MemoryLimit
|
EFI_PHYSICAL_ADDRESS MemoryLimit
|
||||||
);
|
);
|
||||||
|
|
||||||
|
EFI_STATUS
|
||||||
|
PublishPeiMemory (
|
||||||
|
VOID
|
||||||
|
);
|
||||||
|
|
||||||
EFI_PHYSICAL_ADDRESS
|
EFI_PHYSICAL_ADDRESS
|
||||||
MemDetect (
|
MemDetect (
|
||||||
VOID
|
VOID
|
||||||
|
|
Loading…
Reference in New Issue