Bläddra i källkod

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>
Min M Xu 1 år sedan
förälder
incheckning
8cb4b429a2

+ 2 - 4
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);

+ 1 - 1
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