diff options
author | Min M Xu <min.m.xu@intel.com> | 2022-12-22 21:11:55 +0800 |
---|---|---|
committer | mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 2022-12-22 13:35:44 +0000 |
commit | 8cb4b429a251cd95d43e50bcba51072be9295373 (patch) | |
tree | 17b7828f55432bfe6d4fc95f482da10b6bd35334 /OvmfPkg | |
parent | ec87305f90d90096aac2a4d91e3f6556e2ecd6b9 (diff) | |
download | edk2-8cb4b429a251cd95d43e50bcba51072be9295373.tar.gz edk2-8cb4b429a251cd95d43e50bcba51072be9295373.tar.bz2 edk2-8cb4b429a251cd95d43e50bcba51072be9295373.zip |
OvmfPkg/AcpiPlatformDxe: Check PcdConfidentialComputingGuestAttr
PcdConfidentialComputingGuestAttr can be used to check the cc guest
type, including td-guest or sev-guest. CcProbe() can do the same
thing but CcProbeLib should be included in the dsc which uses
AcpiPlatformDxe. The difference between PcdConfidentialComputingGuestAttr
and CcProbe() is that PcdConfidentialComputingGuestAttr cannot be used
in multi-processor scenario but CcProbe() can. But there is no such
issue in AcpiPlatformDxe.
So we use PcdConfidentialComputingGuestAttr instead of CcProbeLib so that
it is simpler.
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Erdem Aktas <erdemaktas@google.com>
Cc: James Bottomley <jejb@linux.ibm.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Tom Lendacky <thomas.lendacky@amd.com>
Signed-off-by: Min Xu <min.m.xu@intel.com>
Diffstat (limited to 'OvmfPkg')
-rw-r--r-- | OvmfPkg/AcpiPlatformDxe/AcpiPlatform.c | 6 | ||||
-rw-r--r-- | OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf | 2 |
2 files changed, 3 insertions, 5 deletions
diff --git a/OvmfPkg/AcpiPlatformDxe/AcpiPlatform.c b/OvmfPkg/AcpiPlatformDxe/AcpiPlatform.c index 0cc3d958be..b446bb4872 100644 --- a/OvmfPkg/AcpiPlatformDxe/AcpiPlatform.c +++ b/OvmfPkg/AcpiPlatformDxe/AcpiPlatform.c @@ -8,9 +8,7 @@ **/
#include <OvmfPlatforms.h> // CLOUDHV_DEVICE_ID
-
-#include <Library/CcProbeLib.h> // CcProbe(), CcGuestTypeIntelTdx
-
+#include <ConfidentialComputingGuestAttr.h>
#include "AcpiPlatform.h"
/**
@@ -35,7 +33,7 @@ InstallAcpiTables ( HostBridgeDevId = PcdGet16 (PcdOvmfHostBridgePciDevId);
if (HostBridgeDevId == CLOUDHV_DEVICE_ID) {
- if (CcProbe () == CcGuestTypeIntelTdx) {
+ if (CC_GUEST_IS_TDX (PcdGet64 (PcdConfidentialComputingGuestAttr))) {
Status = InstallCloudHvTablesTdx (AcpiTable);
} else {
Status = InstallCloudHvTables (AcpiTable);
diff --git a/OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf b/OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf index 1647a90add..8939dde425 100644 --- a/OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf +++ b/OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf @@ -46,7 +46,6 @@ UefiBootServicesTableLib
UefiDriverEntryPoint
HobLib
- CcProbeLib
[Protocols]
gEfiAcpiTableProtocolGuid # PROTOCOL ALWAYS_CONSUMED
@@ -62,6 +61,7 @@ gUefiOvmfPkgTokenSpaceGuid.PcdOvmfHostBridgePciDevId
gUefiOvmfPkgTokenSpaceGuid.PcdXenPvhStartOfDayStructPtr
gUefiOvmfPkgTokenSpaceGuid.PcdXenPvhStartOfDayStructPtrSize
+ gEfiMdePkgTokenSpaceGuid.PcdConfidentialComputingGuestAttr
[Depex]
gEfiAcpiTableProtocolGuid
|