audk/OvmfPkg/Library
Ceping Sun 8a41004643 OvmfPkg/BaseMemEncryptTdxLib: Handle retry result of MapGPA
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4572

According to section 3.2 of the [GHCI] document, if the return status
of MapGPA is "TDG.VP.VMCALL_RETRY", TD must retry this operation for the
pages in the region starting at the GPA specified in R11.

In this patch, when a retry state is detected, TDVF needs to retry the
mapping with the specified address from the output results of TdVmCall.

Reference:
[GHCI]: TDX Guest-Host-Communication Interface v1.0
https://cdrdv2.intel.com/v1/dl/getContent/726790

Cc: Erdem Aktas <erdemaktas@google.com>
Cc: James Bottomley <jejb@linux.ibm.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Min Xu <min.m.xu@intel.com>
Cc: Tom Lendacky <thomas.lendacky@amd.com>
Cc: Michael Roth <michael.roth@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: Ceping Sun <cepingx.sun@intel.com>
2023-11-09 17:15:39 +00:00
..
AcpiPlatformLib OvmfPkg: move QemuFwCfgAcpi into AcpiPlatformLib 2023-06-23 17:26:37 +00:00
AcpiTimerLib OvmfPkg: Update code to be more C11 compliant by using __func__ 2023-04-10 14:19:57 +00:00
BaseCachingPciExpressLib
BaseMemEncryptSevLib OvmfPkg/Include: remove QemuSmramSaveStateMap.h 2023-09-07 15:47:58 +00:00
BaseMemEncryptTdxLib OvmfPkg/BaseMemEncryptTdxLib: Handle retry result of MapGPA 2023-11-09 17:15:39 +00:00
BasePciCapLib OvmfPkg: Update code to be more C11 compliant by using __func__ 2023-04-10 14:19:57 +00:00
BasePciCapPciSegmentLib
BhyveFwCtlLib
BlobVerifierLibNull
CcExitLib OvmfPkg/CcExitLib: Use documented XSave area base size for SEV-SNP 2023-04-26 13:39:01 +00:00
CcProbeLib
DxePciLibI440FxQ35
EmuVariableFvbLib
GenericQemuLoadImageLib OvmfPkg: Update code to be more C11 compliant by using __func__ 2023-04-10 14:19:57 +00:00
HardwareInfoLib OvmfPkg: Update code to be more C11 compliant by using __func__ 2023-04-10 14:19:57 +00:00
LoadLinuxLib
LockBoxLib OvmfPkg: Update code to be more C11 compliant by using __func__ 2023-04-10 14:19:57 +00:00
MpInitLibDepLib
NestedInterruptTplLib OvmfPkg: Relax assertion that interrupts do not occur at TPL_HIGH_LEVEL 2023-05-09 22:09:50 +00:00
NvVarsFileLib OvmfPkg/NvVarsFileLib: disable in case PcdBootRestrictToFirmware is set 2023-05-10 13:39:41 +00:00
PciHostBridgeLib
PciHostBridgeLibScan
PciHostBridgeUtilityLib OvmfPkg: Update code to be more C11 compliant by using __func__ 2023-04-10 14:19:57 +00:00
PeilessStartupLib OvmfPkg/PeilessStartupLib: Updated with PcdSecureBootSupported 2023-07-17 04:59:35 +00:00
PlatformBmPrintScLib OvmfPkg: Update code to be more C11 compliant by using __func__ 2023-04-10 14:19:57 +00:00
PlatformBootManagerLib OvmfPkg/PlatformBootManagerLib: refer to virtio console subsys symbolically 2023-09-12 15:50:30 +00:00
PlatformBootManagerLibBhyve OvmfPkg: Update code to be more C11 compliant by using __func__ 2023-04-10 14:19:57 +00:00
PlatformDebugLibIoPort OvmfPkg/DebugLibIoPort: use Rom version for PEI 2022-12-14 17:45:41 +00:00
PlatformFvbLibNull
PlatformHasIoMmuLib
PlatformInitLib OvmfPkg/PlatformInitLib: limit phys-bits to 46. 2023-06-01 09:00:00 +00:00
PlatformSecureLib
PxeBcPcdProducerLib
QemuBootOrderLib OvmfPkg: Update code to be more C11 compliant by using __func__ 2023-04-10 14:19:57 +00:00
QemuFwCfgLib OvmfPkg: Update code to be more C11 compliant by using __func__ 2023-04-10 14:19:57 +00:00
QemuFwCfgS3Lib OvmfPkg: Update code to be more C11 compliant by using __func__ 2023-04-10 14:19:57 +00:00
QemuFwCfgSimpleParserLib
ResetSystemLib OvmfPkg: Update code to be more C11 compliant by using __func__ 2023-04-10 14:19:57 +00:00
SerializeVariablesLib OvmfPkg: Update code to be more C11 compliant by using __func__ 2023-04-10 14:19:57 +00:00
SmbiosVersionLib OvmfPkg: Update code to be more C11 compliant by using __func__ 2023-04-10 14:19:57 +00:00
SmmCpuFeaturesLib OvmfPkg/Include: remove QemuSmramSaveStateMap.h 2023-09-07 15:47:58 +00:00
SmmCpuPlatformHookLibQemu
Tcg2PhysicalPresenceLibNull
Tcg2PhysicalPresenceLibQemu
TdxMailboxLib OvmfPkg: Remove UefiCpuLib from module INFs. 2023-03-10 08:23:56 +00:00
TlsAuthConfigLib OvmfPkg: Update code to be more C11 compliant by using __func__ 2023-04-10 14:19:57 +00:00
UefiDriverEntryPointFwCfgOverrideLib
UefiPciCapPciIoLib
VirtioLib
VirtioMmioDeviceLib OvmfPkg/VirtioMmioDeviceLib: virtio 1.0: Fix SetQueueAlignment. 2023-04-12 12:41:17 +00:00
X86QemuLoadImageLib OvmfPkg: Update code to be more C11 compliant by using __func__ 2023-04-10 14:19:57 +00:00
XenConsoleSerialPortLib
XenHypercallLib
XenIoMmioLib OvmfPkg: Update code to be more C11 compliant by using __func__ 2023-04-10 14:19:57 +00:00
XenPlatformLib
XenRealTimeClockLib