audk/OvmfPkg/Bhyve
Min Xu 2520182122 OvmfPkg: Update IoMmuDxe to support TDX
RFC: https://bugzilla.tianocore.org/show_bug.cgi?id=3429

The IOMMU protocol driver provides capabilities to set a DMA access
attribute and methods to allocate, free, map and unmap the DMA memory
for the PCI Bus devices.

The current IoMmuDxe driver supports DMA operations inside SEV guest.
To support DMA operation in TDX guest,
CC_GUEST_IS_XXX (PcdConfidentialComputingGuestAttr) is used to determine
if it is SEV guest or TDX guest.

Due to security reasons all DMA operations inside the SEV/TDX guest must
be performed on shared pages. The IOMMU protocol driver for the SEV/TDX
guest uses a bounce buffer to map guest DMA buffer to shared pages in
order to provide the support for DMA operations inside SEV/TDX guest.

The call of SEV or TDX specific function to set/clear EncMask/SharedBit
is determined by CC_GUEST_IS_XXX (PcdConfidentialComputingGuestAttr).

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>
2022-04-02 08:15:12 +00:00
..
AcpiPlatformDxe OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
AcpiTables OvmfPkg: Bhyve: Delete unused AcpiTables/Ssdt.asl file 2021-12-23 07:48:08 +00:00
BhyveRfbDxe OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
PlatformPei OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
ResetVector OvmfPkg/Bhyve: Copy Real16ToFlat32.asm and enable cache in CR0 2020-11-27 16:48:47 +00:00
SmbiosPlatformDxe OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
BhyveDefines.fdf.inc OvmfPkg/Bhyve: rename files to remove 'Pkg' infix 2020-08-24 17:57:07 +00:00
BhyveX64.dsc OvmfPkg: Update IoMmuDxe to support TDX 2022-04-02 08:15:12 +00:00
BhyveX64.fdf OvmfPkg: Remove unused print service driver (PrintDxe) 2021-12-10 10:02:08 +00:00
FvmainCompactScratchEnd.fdf.inc Add BhyvePkg, to support the bhyve hypervisor 2020-07-31 13:03:10 +00:00
License.txt Add BhyvePkg, to support the bhyve hypervisor 2020-07-31 13:03:10 +00:00
VarStore.fdf.inc Add BhyvePkg, to support the bhyve hypervisor 2020-07-31 13:03:10 +00:00