OvmfPkg: Extend VmgExitLib to handle #VE exception

RFC: https://bugzilla.tianocore.org/show_bug.cgi?id=3429

The base VmgExitLib library provides a default limited interface to
handle #VE exception. To provide full support, the OVMF version of
VmgExitLib is extended to provide full support of #VE handler.

Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Brijesh Singh <brijesh.singh@amd.com>
Cc: Erdem Aktas <erdemaktas@google.com>
Cc: James Bottomley <jejb@linux.ibm.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Tom Lendacky <thomas.lendacky@amd.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
Signed-off-by: Min Xu <min.m.xu@intel.com>
This commit is contained in:
Min Xu
2021-10-30 14:30:15 +08:00
committed by mergify[bot]
parent eddcba40b5
commit daf8f642f3
5 changed files with 741 additions and 1 deletions

View File

@@ -0,0 +1,32 @@
/** @file
Copyright (c) 2020 - 2021, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef VMTD_EXIT_HANDLER_H_
#define VMTD_EXIT_HANDLER_H_
#include <Base.h>
#include <Uefi.h>
/**
This function enable the TD guest to request the VMM to emulate CPUID
operation, especially for non-architectural, CPUID leaves.
@param[in] Eax Main leaf of the CPUID
@param[in] Ecx Sub-leaf of the CPUID
@param[out] Results Returned result of CPUID operation
@return EFI_SUCCESS
**/
EFI_STATUS
EFIAPI
TdVmCallCpuid (
IN UINT64 Eax,
IN UINT64 Ecx,
OUT VOID *Results
);
#endif