mirror of https://github.com/acidanthera/audk.git
OvmfPkg/PlatformPei: Refactor MemMapInitialization
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3863 MemMapInitialization is split into 2 functions: - PlatformMemMapInitialization is for PlatformInfoLib - MemMapInitialization calls PlatformMemMapInitialization and then sets PCDs. It is for PlatformPei. Cc: Ard Biesheuvel <ardb+tianocore@kernel.org> Cc: Jordan Justen <jordan.l.justen@intel.com> Cc: Brijesh Singh <brijesh.singh@amd.com> Cc: Erdem Aktas <erdemaktas@google.com> Cc: James Bottomley <jejb@linux.ibm.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Tom Lendacky <thomas.lendacky@amd.com> Cc: Gerd Hoffmann <kraxel@redhat.com> Cc: Sebastien Boeuf <sebastien.boeuf@intel.com> Acked-by: Gerd Hoffmann <kraxel@redhat.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com> Signed-off-by: Min Xu <min.m.xu@intel.com>
This commit is contained in:
parent
e510326245
commit
12e860a1e8
|
@ -52,7 +52,8 @@ EFI_PEI_PPI_DESCRIPTOR mPpiBootMode[] = {
|
|||
};
|
||||
|
||||
VOID
|
||||
MemMapInitialization (
|
||||
EFIAPI
|
||||
PlatformMemMapInitialization (
|
||||
IN OUT EFI_HOB_PLATFORM_INFO *PlatformInfoHob
|
||||
)
|
||||
{
|
||||
|
@ -110,10 +111,6 @@ MemMapInitialization (
|
|||
//
|
||||
PciSize = 0xFC000000 - PciBase;
|
||||
PlatformAddIoMemoryBaseSizeHob (PciBase, PciSize);
|
||||
PcdStatus = PcdSet64S (PcdPciMmio32Base, PciBase);
|
||||
ASSERT_RETURN_ERROR (PcdStatus);
|
||||
PcdStatus = PcdSet64S (PcdPciMmio32Size, PciSize);
|
||||
ASSERT_RETURN_ERROR (PcdStatus);
|
||||
|
||||
PlatformInfoHob->PcdPciMmio32Base = PciBase;
|
||||
PlatformInfoHob->PcdPciMmio32Size = PciSize;
|
||||
|
@ -173,15 +170,35 @@ MemMapInitialization (
|
|||
PciIoBase,
|
||||
PciIoSize
|
||||
);
|
||||
PcdStatus = PcdSet64S (PcdPciIoBase, PciIoBase);
|
||||
ASSERT_RETURN_ERROR (PcdStatus);
|
||||
PcdStatus = PcdSet64S (PcdPciIoSize, PciIoSize);
|
||||
ASSERT_RETURN_ERROR (PcdStatus);
|
||||
|
||||
PlatformInfoHob->PcdPciIoBase = PciIoBase;
|
||||
PlatformInfoHob->PcdPciIoSize = PciIoSize;
|
||||
}
|
||||
|
||||
VOID
|
||||
MemMapInitialization (
|
||||
IN OUT EFI_HOB_PLATFORM_INFO *PlatformInfoHob
|
||||
)
|
||||
{
|
||||
RETURN_STATUS PcdStatus;
|
||||
|
||||
PlatformMemMapInitialization (PlatformInfoHob);
|
||||
|
||||
if (PlatformInfoHob->HostBridgeDevId == 0xffff /* microvm */) {
|
||||
return;
|
||||
}
|
||||
|
||||
PcdStatus = PcdSet64S (PcdPciMmio32Base, PlatformInfoHob->PcdPciMmio32Base);
|
||||
ASSERT_RETURN_ERROR (PcdStatus);
|
||||
PcdStatus = PcdSet64S (PcdPciMmio32Size, PlatformInfoHob->PcdPciMmio32Size);
|
||||
ASSERT_RETURN_ERROR (PcdStatus);
|
||||
|
||||
PcdStatus = PcdSet64S (PcdPciIoBase, PlatformInfoHob->PcdPciIoBase);
|
||||
ASSERT_RETURN_ERROR (PcdStatus);
|
||||
PcdStatus = PcdSet64S (PcdPciIoSize, PlatformInfoHob->PcdPciIoSize);
|
||||
ASSERT_RETURN_ERROR (PcdStatus);
|
||||
}
|
||||
|
||||
#define UPDATE_BOOLEAN_PCD_FROM_FW_CFG(TokenName) \
|
||||
do { \
|
||||
BOOLEAN Setting; \
|
||||
|
|
Loading…
Reference in New Issue