/** @file Memory Detection for Virtual Machines. Copyright (c) 2021, Hewlett Packard Enterprise Development LP. All rights reserved.
Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent Module Name: MemDetect.c **/ // // The package level header files this module uses // #include // // The Library classes this module consumes // #include #include #include #include #include #include #include #include "Platform.h" /** Publish PEI core memory. @return EFI_SUCCESS The PEIM initialized successfully. **/ EFI_STATUS PublishPeiMemory ( VOID ) { EFI_STATUS Status; EFI_PHYSICAL_ADDRESS MemoryBase; UINT64 MemorySize; // // TODO: This value should come from platform // configuration or the memory sizing code. // MemoryBase = 0x40000000UL + 0x1000000UL; MemorySize = 0x40000000UL - 0x1000000UL; // 1GB - 16MB DEBUG ((DEBUG_INFO, "%a: MemoryBase:0x%x MemorySize:%x\n", __FUNCTION__, MemoryBase, MemorySize)); // // Publish this memory to the PEI Core // Status = PublishSystemMemory (MemoryBase, MemorySize); ASSERT_EFI_ERROR (Status); return Status; } /** Publish system RAM and reserve memory regions. **/ VOID InitializeRamRegions ( VOID ) { // // TODO: This value should come from platform // configuration or the memory sizing code. // AddMemoryRangeHob (0x41000000UL, 0x41000000UL + 0x3F000000UL); }