OvmfPkg: Update PlatformPei to support Tdx guest
RFC: https://bugzilla.tianocore.org/show_bug.cgi?id=3429 OvmfPkg/PlatformPei is updated to support Tdx guest. There are below major changes. - Set Tdx related PCDs - Publish Tdx RamRegions In this patch there is another new function BuildPlatformInfoHob (). This function builds EFI_HOB_PLATFORM_INFO which contains the HostBridgeDevId. The hob is built in both Td guest and Non-Td guest. 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> 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:
@@ -37,7 +37,6 @@ Module Name:
|
||||
|
||||
#include <Library/QemuFwCfgLib.h>
|
||||
#include <Library/QemuFwCfgSimpleParserLib.h>
|
||||
|
||||
#include "Platform.h"
|
||||
|
||||
VOID
|
||||
@@ -231,7 +230,12 @@ GetPeiMemoryCap (
|
||||
PdpEntries = 1 << (mPlatformInfoHob.PhysMemAddressWidth - 30);
|
||||
ASSERT (PdpEntries <= 0x200);
|
||||
} else {
|
||||
Pml4Entries = 1 << (mPlatformInfoHob.PhysMemAddressWidth - 39);
|
||||
if (mPlatformInfoHob.PhysMemAddressWidth > 48) {
|
||||
Pml4Entries = 0x200;
|
||||
} else {
|
||||
Pml4Entries = 1 << (mPlatformInfoHob.PhysMemAddressWidth - 39);
|
||||
}
|
||||
|
||||
ASSERT (Pml4Entries <= 0x200);
|
||||
PdpEntries = 512;
|
||||
}
|
||||
@@ -354,6 +358,11 @@ InitializeRamRegions (
|
||||
IN EFI_HOB_PLATFORM_INFO *PlatformInfoHob
|
||||
)
|
||||
{
|
||||
if (TdIsEnabled ()) {
|
||||
PlatformTdxPublishRamRegions ();
|
||||
return;
|
||||
}
|
||||
|
||||
PlatformQemuInitializeRam (PlatformInfoHob);
|
||||
|
||||
SevInitializeRam ();
|
||||
|
Reference in New Issue
Block a user