audk/MdePkg
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
..
Include MdePkg/BaseLib: Add a new VMGEXIT instruction invocation for SVSM 2024-04-17 18:30:03 +00:00
Library MdePkg/BaseLib: Add a new VMGEXIT instruction invocation for SVSM 2024-04-17 18:30:03 +00:00
Test MdePkg: Test: Add gRT_GetTime Google Test Mock 2024-02-06 19:24:26 +00:00
MdeLibs.dsc.inc MdePkg: Add SynchronizationLib to MdeLibs.dsc.inc 2024-02-07 18:54:39 +00:00
MdePkg.ci.yaml MdePkg: Add LoongArch Cpucfg function 2024-02-06 23:51:47 +08:00
MdePkg.dec MdePkg.dec: RISC-V: Define override bit for Svpbmt extension 2024-04-08 05:43:59 +00:00
MdePkg.dsc MdePkg: Add a new library named PeiServicesTablePointerLibKs0 2024-02-06 23:51:47 +08:00
MdePkg.uni MdePkg: Utilize Cache Management Operations Implementation For RISC-V 2023-12-19 12:48:14 +00:00
MdePkgExtra.uni MdePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:13 -07:00