]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgDxe.c
OvmfPkg/QemuFwCfgLib: Support Tdx in QemuFwCfgDxe
[mirror_edk2.git] / OvmfPkg / Library / QemuFwCfgLib / QemuFwCfgDxe.c
index f5787cd24d380a5776539dc37fd60eaa027eb307..6a810928a0607516538ef611c0cf2f0b023a902c 100644 (file)
@@ -19,6 +19,7 @@
 #include <Library/DebugLib.h>\r
 #include <Library/QemuFwCfgLib.h>\r
 #include <Library/UefiBootServicesTableLib.h>\r
+#include <Library/MemEncryptTdxLib.h>\r
 #include <Library/MemEncryptSevLib.h>\r
 \r
 #include "QemuFwCfgLibInternal.h"\r
@@ -85,7 +86,7 @@ QemuFwCfgInitialize (
     DEBUG ((DEBUG_INFO, "QemuFwCfg interface (DMA) is supported.\n"));\r
   }\r
 \r
-  if (mQemuFwCfgDmaSupported && MemEncryptSevIsEnabled ()) {\r
+  if (mQemuFwCfgDmaSupported && (MemEncryptSevIsEnabled () || (MemEncryptTdxIsEnabled ()))) {\r
     EFI_STATUS  Status;\r
 \r
     //\r
@@ -100,7 +101,7 @@ QemuFwCfgInitialize (
     if (EFI_ERROR (Status)) {\r
       DEBUG ((\r
         DEBUG_ERROR,\r
-        "QemuFwCfgSevDma %a:%a Failed to locate IOMMU protocol.\n",\r
+        "QemuFwCfgDma %a:%a Failed to locate IOMMU protocol.\n",\r
         gEfiCallerBaseName,\r
         __FUNCTION__\r
         ));\r
@@ -411,10 +412,10 @@ InternalQemuFwCfgDmaBytes (
   DataBuffer    = Buffer;\r
 \r
   //\r
-  // When SEV is enabled, map Buffer to DMA address before issuing the DMA\r
+  // When SEV or TDX is enabled, map Buffer to DMA address before issuing the DMA\r
   // request\r
   //\r
-  if (MemEncryptSevIsEnabled ()) {\r
+  if (MemEncryptSevIsEnabled () || MemEncryptTdxIsEnabled ()) {\r
     VOID                  *AccessBuffer;\r
     EFI_PHYSICAL_ADDRESS  DataBufferAddress;\r
 \r