UefiCpuPkg: Implement library support for VMGEXIT

BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=2198

To support handling #VC exceptions and issuing VMGEXIT instructions,
create a library with functions that can be used to perform these
#VC/VMGEXIT related operations. This includes functions for:
  - Handling #VC exceptions
  - Preparing for and issuing a VMGEXIT
  - Performing MMIO-related write operations to support flash emulation
  - Performing AP related boot opeations

The base functions in this driver will not do anything and will return
an error if a return value is required. It is expected that other packages
(like OvmfPkg) will create a version of the library to fully support an
SEV-ES guest.

Cc: Eric Dong <eric.dong@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>
Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
Regression-tested-by: Laszlo Ersek <lersek@redhat.com>
This commit is contained in:
Tom Lendacky
2020-08-12 15:21:36 -05:00
committed by mergify[bot]
parent f8422f1e0b
commit 8714978781
6 changed files with 271 additions and 0 deletions

View File

@@ -0,0 +1,15 @@
// /** @file
// VMGEXIT support library instance.
//
// VMGEXIT support library instance.
//
// Copyright (C) 2020, Advanced Micro Devices, Inc. All rights reserved.<BR>
// SPDX-License-Identifier: BSD-2-Clause-Patent
//
// **/
#string STR_MODULE_ABSTRACT #language en-US "VMGEXIT support NULL library instance"
#string STR_MODULE_DESCRIPTION #language en-US "VMGEXIT support NULL library instance."