audk/MdePkg/Include
Tom Lendacky c0bf953fe8 MdePkg/BaseLib: Add a new VMGEXIT instruction invocation for SVSM
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4654

The SVSM specification relies on a specific register calling convention to
hold the parameters that are associated with the SVSM request. The SVSM is
invoked by requesting the hypervisor to run the VMPL0 VMSA of the guest
using the GHCB MSR Protocol or a GHCB NAE event.

Create a new version of the VMGEXIT instruction that will adhere to this
calling convention and load the SVSM function arguments into the proper
register before invoking the VMGEXIT instruction. On return, perform the
atomic exchange on the SVSM call pending value as specified in the SVSM
specification.

Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Zhiguang Liu <zhiguang.liu@intel.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
2024-04-17 18:30:03 +00:00
..
AArch64 MdePkg/ProcessorBind AARCH64: Add asm macro to emit GNU BTI note 2023-03-30 11:05:22 +00:00
Arm MdePkg: Remove RVCT support 2022-05-13 14:58:54 +00:00
Ebc MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
Guid MdePkg: Add UEFI 2.10 DeviceAuthentication 2024-03-29 03:04:09 +00:00
Ia32 MdePkg: Remove VS2008-VS2013 remnants 2023-05-05 11:41:35 +00:00
IndustryStandard MdePkg/SmBios.h: Add New ProcessorUpgrade definitions for SMBIOS Type4 2024-04-16 08:25:44 +00:00
Library MdePkg/BaseLib: Add a new VMGEXIT instruction invocation for SVSM 2024-04-17 18:30:03 +00:00
LoongArch64 MdePkg: Fix UINT64 and INT64 word length for LoongArch64 2023-02-01 02:12:41 +00:00
Pi MdePkg: PiStatusCode: Add TPM subclass definition to MdePkg 2023-06-23 16:28:24 +00:00
Ppi MdePkg/Include/Ppi: Remove Itanium leftover data structure 2023-03-26 02:03:50 +00:00
Protocol MdePkg: Update the comments of GetInformation function 2024-04-15 21:30:48 +08:00
Register MdePkg/Register/Amd: Define the SVSM related information 2024-04-17 18:30:03 +00:00
RiscV64 MdePkg: Implement RISC-V Cache Management Operations 2023-12-19 12:48:14 +00:00
Uefi MdePkg Updated the comments of EFI_SYSTEM_TABLE and ReadKeyStroke 2024-02-26 19:18:00 +00:00
X64 MdePkg: don't set visibility to hidden 2023-06-01 10:53:35 +00:00
Base.h MdePkg: Add missing status codes 2023-08-07 22:56:02 +00:00
ConfidentialComputingGuestAttr.h MdePkg: Add CC_GUEST_TYPE in ConfidentialComputingGuestAttr.h 2022-04-19 01:26:08 +00:00
PiDxe.h MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
PiMm.h MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
PiPei.h MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
PiSmm.h MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
Uefi.h MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00