From d5371680638151ff1a4332294e60a1c12163752e Mon Sep 17 00:00:00 2001 From: Laszlo Ersek Date: Fri, 4 Mar 2016 17:23:35 +0100 Subject: [PATCH] OvmfPkg: PlatformPei: factor out GetFirstNonAddress() Factor out the expression that is currently the basis of the address width calculation into a standalone function. In the next patches we'll raise the return value under certain circumstances. Cc: Gerd Hoffmann Cc: Jordan Justen Cc: Marcel Apfelbaum Cc: Thomas Lamprecht Ref: https://github.com/tianocore/edk2/issues/59 Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek Reviewed-by: Jordan Justen --- OvmfPkg/PlatformPei/MemDetect.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/OvmfPkg/PlatformPei/MemDetect.c b/OvmfPkg/PlatformPei/MemDetect.c index 455fcbb49d..286f6914a7 100644 --- a/OvmfPkg/PlatformPei/MemDetect.c +++ b/OvmfPkg/PlatformPei/MemDetect.c @@ -87,6 +87,22 @@ GetSystemMemorySizeAbove4gb ( } +/** + Return the highest address that DXE could possibly use, plus one. +**/ +STATIC +UINT64 +GetFirstNonAddress ( + VOID + ) +{ + UINT64 FirstNonAddress; + + FirstNonAddress = BASE_4GB + GetSystemMemorySizeAbove4gb (); + return FirstNonAddress; +} + + /** Initialize the mPhysMemAddressWidth variable, based on guest RAM size. **/ @@ -103,7 +119,7 @@ AddressWidthInitialization ( // The DXL IPL keys off of the physical address bits advertized in the CPU // HOB. To conserve memory, we calculate the minimum address width here. // - FirstNonAddress = BASE_4GB + GetSystemMemorySizeAbove4gb (); + FirstNonAddress = GetFirstNonAddress (); mPhysMemAddressWidth = (UINT8)HighBitSet64 (FirstNonAddress); // -- 2.39.2