mirror of https://github.com/acidanthera/audk.git
OvmfPkg/QemuFwCfgLib: Support Tdx in QemuFwCfgDxe
RFC: https://bugzilla.tianocore.org/show_bug.cgi?id=3429 In the previous QemuFwCfgDxe only SEV is supported. This commit introduce TDX support in QemuFwCfgDxe. 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:
parent
fae5c1464d
commit
07c721fea7
|
@ -19,6 +19,7 @@
|
|||
#include <Library/DebugLib.h>
|
||||
#include <Library/QemuFwCfgLib.h>
|
||||
#include <Library/UefiBootServicesTableLib.h>
|
||||
#include <Library/MemEncryptTdxLib.h>
|
||||
#include <Library/MemEncryptSevLib.h>
|
||||
|
||||
#include "QemuFwCfgLibInternal.h"
|
||||
|
@ -85,7 +86,7 @@ QemuFwCfgInitialize (
|
|||
DEBUG ((DEBUG_INFO, "QemuFwCfg interface (DMA) is supported.\n"));
|
||||
}
|
||||
|
||||
if (mQemuFwCfgDmaSupported && MemEncryptSevIsEnabled ()) {
|
||||
if (mQemuFwCfgDmaSupported && (MemEncryptSevIsEnabled () || (MemEncryptTdxIsEnabled ()))) {
|
||||
EFI_STATUS Status;
|
||||
|
||||
//
|
||||
|
@ -100,7 +101,7 @@ QemuFwCfgInitialize (
|
|||
if (EFI_ERROR (Status)) {
|
||||
DEBUG ((
|
||||
DEBUG_ERROR,
|
||||
"QemuFwCfgSevDma %a:%a Failed to locate IOMMU protocol.\n",
|
||||
"QemuFwCfgDma %a:%a Failed to locate IOMMU protocol.\n",
|
||||
gEfiCallerBaseName,
|
||||
__FUNCTION__
|
||||
));
|
||||
|
@ -411,10 +412,10 @@ InternalQemuFwCfgDmaBytes (
|
|||
DataBuffer = Buffer;
|
||||
|
||||
//
|
||||
// When SEV is enabled, map Buffer to DMA address before issuing the DMA
|
||||
// When SEV or TDX is enabled, map Buffer to DMA address before issuing the DMA
|
||||
// request
|
||||
//
|
||||
if (MemEncryptSevIsEnabled ()) {
|
||||
if (MemEncryptSevIsEnabled () || MemEncryptTdxIsEnabled ()) {
|
||||
VOID *AccessBuffer;
|
||||
EFI_PHYSICAL_ADDRESS DataBufferAddress;
|
||||
|
||||
|
|
|
@ -43,6 +43,7 @@
|
|||
IoLib
|
||||
MemoryAllocationLib
|
||||
MemEncryptSevLib
|
||||
MemEncryptTdxLib
|
||||
|
||||
[Protocols]
|
||||
gEdkiiIoMmuProtocolGuid ## SOMETIMES_CONSUMES
|
||||
|
|
Loading…
Reference in New Issue