audk/MdePkg/Include
Tom Lendacky f8422f1e0b MdePkg/BaseLib: Add support for the VMGEXIT instruction
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=2198

VMGEXIT is a new instruction used for Hypervisor/Guest communication when
running as an SEV-ES guest. A VMGEXIT will cause an automatic exit (AE)
to occur, resulting in a #VMEXIT with an exit code value of 0x403.

Since SEV-ES is only supported in X64, provide the necessary X64 support
to execute the VMGEXIT instruction, which is coded as "rep vmmcall". For
IA32, since "vmmcall" is not supported in NASM 32-bit mode and VMGEXIT
should never be called, provide a stub implementation that is identical
to CpuBreakpoint().

Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
Regression-tested-by: Laszlo Ersek <lersek@redhat.com>
2020-08-16 16:45:42 +00:00
..
AArch64 MdePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:13 -07:00
Arm MdePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:13 -07:00
Ebc MdePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:13 -07:00
Guid MdePkg: Add FMP Capsule Image Header extension 2020-05-20 14:49:13 +00:00
Ia32 MdePkg Base.h: Use correct style to check macro _MSC_VER value 2020-02-06 09:12:07 +00:00
IndustryStandard MdePkg/Include/IndustryStandard: Main CXL header 2020-07-27 03:35:55 +00:00
Library MdePkg/BaseLib: Add support for the VMGEXIT instruction 2020-08-16 16:45:42 +00:00
Pi MdePkg: Updates to PI 1.7 Revision numbers 2020-05-15 08:06:09 +00:00
Ppi MdePkg: Added header file for Delayed Dispatch PPI 2020-05-15 08:06:09 +00:00
Protocol MdePkg: Add Serial Terminal Device Type Guid 2020-07-03 01:43:50 +00:00
Register MdePkg: Add a structure definition for the GHCB 2020-08-16 16:45:42 +00:00
RiscV64 MdePkg: Add RISC-V RISCV64 binding 2020-05-07 03:17:15 +00:00
Uefi MdePkg: Add New Memory Attributes 2020-07-15 14:58:25 +00:00
X64 MdePkg Base.h: Use correct style to check macro _MSC_VER value 2020-02-06 09:12:07 +00:00
Base.h MdePkg Base.h: Delete prototype for __builtin_return_address 2020-07-28 00:28:14 +00:00
PiDxe.h MdePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:13 -07:00
PiMm.h MdePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:13 -07:00
PiPei.h MdePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:13 -07:00
PiSmm.h MdePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:13 -07:00
Uefi.h MdePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:13 -07:00