audk/OvmfPkg/Library
Alexey Kardashevskiy 9f06feb5d2 OvmfPkg: Add AMD SEV-ES DebugVirtualization feature support
The SEV-ES DebugVirtualization feature enables type B swapping of
debug registers on #VMEXIT and makes #DB and DR7 intercepts
unnecessary and unwanted.

When DebugVirtualization is enabled, this stops booting if
interaction from the HV.

Add new API to PEI, SEC, DXE.

This does not change the existing behaviour yet.

Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Erdem Aktas <erdemaktas@google.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Michael Roth <michael.roth@amd.com>
Cc: Min Xu <min.m.xu@intel.com>
Reviewed-by: Tom Lendacky <thomas.lendacky@amd.com>
Signed-off-by: Alexey Kardashevskiy <aik@amd.com>
---
Changes:
v5:
* "rb" from Tom

v4:
* s/DebugSwap/DebugVirtualization/
2024-07-04 20:39:26 +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
AmdSvsmLib OvmfPkg/AmdSvsmLib: Add support for the SVSM create/delete vCPU calls 2024-04-17 20:04:41 +00:00
BaseCachingPciExpressLib
BaseMemEncryptSevLib OvmfPkg: Add AMD SEV-ES DebugVirtualization feature support 2024-07-04 20:39:26 +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 AmdSev: Halt on failed blob allocation 2024-06-25 15:27:42 +00:00
CcExitLib OvmfPkg: Add AMD SEV-ES DebugVirtualization feature support 2024-07-04 20:39:26 +00:00
CcProbeLib OvmfPkg: Update CcProbeLib to DxeCcProbeLib 2022-09-06 06:03:45 +00:00
DxePciLibI440FxQ35
EmuVariableFvbLib
FdtNorFlashQemuLib OvmfPkg: Add no hardcode version of FdtNorFlashQemuLib 2024-06-04 22:51:09 +00:00
FdtSerialPortAddressLib ArmVirtPkg: Move the FdtSerialPortAddressLib to OvmfPkg 2024-02-06 23:51:47 +08:00
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
HashLibTdx OmvfPkg/HashLibTdx: Add HashLibTdx 2024-04-17 03:04:13 +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: Use newly defined Unaccepted Memory Type 2024-05-08 11:34:49 +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/BhyvePkg: honor FwCfg when setting the bootorder 2024-06-18 19:18:07 +00:00
PlatformBootManagerLibLight ArmVirtPkg: Move PlatformBootManagerLib to OvmfPkg 2024-02-06 23:51:47 +08:00
PlatformDebugLibIoPort OvmfPkg/DebugLibIoPort: use Rom version for PEI 2022-12-14 17:45:41 +00:00
PlatformFvbLibNull
PlatformHasIoMmuLib
PlatformInitLib OvmfPkg/Sec: Setup MTRR early in the boot process. 2024-06-26 06:04:49 +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: Remove QemuFwCfgLibMmio.inf 2024-04-30 11:10:10 +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/SmmCpuFeaturesLib: Check Smbase Relocation is done or not 2024-05-08 01:53:58 +00:00
SmmCpuPlatformHookLibQemu
SmmRelocationLib OvmfPkg/SmmRelocationLib: Add library instance for OVMF 2024-05-08 01:53:58 +00:00
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 OvmfPkg: Introduce alternate UefiDriverEntrypoint to inhibit driver load 2022-09-10 08:23:27 +00:00
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 OvmfPkg/XenHypercallLib: Fix naming of AArch64 2022-07-28 01:22:13 +00:00
XenIoMmioLib OvmfPkg: Update code to be more C11 compliant by using __func__ 2023-04-10 14:19:57 +00:00
XenPlatformLib
XenRealTimeClockLib OvmfPkg: Align XenRealTimeClockLib function headers with return values 2024-02-09 22:16:32 +00:00