mirror of https://github.com/acidanthera/audk.git
OvmfPkg/UefiCpuPkg/UefiPayloadPkg: Rename VmgExitLib to CcExitLib
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4123 VmgExitLib once was designed to provide interfaces to support #VC handler and issue VMGEXIT instruction. After TDVF (enable TDX feature in OVMF) is introduced, this library is updated to support #VE as well. Now the name of VmgExitLib cannot reflect what the lib does. This patch renames VmgExitLib to CcExitLib (Cc means Confidential Computing). This is a simple renaming and there is no logic changes. After renaming all the VmgExitLib related codes are updated with CcExitLib. These changes are in OvmfPkg/UefiCpuPkg/UefiPayloadPkg. Cc: Guo Dong <guo.dong@intel.com> Cc: Sean Rhodes <sean@starlabs.systems> Cc: James Lu <james.lu@intel.com> Cc: Gua Guo <gua.guo@intel.com> Cc: Eric Dong <eric.dong@intel.com> Cc: Ray Ni <ray.ni@intel.com> Cc: Brijesh Singh <brijesh.singh@amd.com> Cc: Erdem Aktas <erdemaktas@google.com> Cc: Gerd Hoffmann <kraxel@redhat.com> Cc: James Bottomley <jejb@linux.ibm.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Tom Lendacky <thomas.lendacky@amd.com> Reviewed-by: James Lu <james.lu@intel.com> Reviewed-by: Gua Guo <gua.guo@intel.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com> Reviewed-by: Ray Ni <ray.ni@intel.com> Signed-off-by: Min Xu <min.m.xu@intel.com>
This commit is contained in:
parent
b9e702c3c9
commit
a89f558d3c
|
@ -204,7 +204,7 @@
|
|||
|
||||
[LibraryClasses.common]
|
||||
BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
|
||||
VmgExitLib|OvmfPkg/Library/VmgExitLib/VmgExitLib.inf
|
||||
CcExitLib|OvmfPkg/Library/CcExitLib/CcExitLib.inf
|
||||
TdxLib|MdePkg/Library/TdxLib/TdxLib.inf
|
||||
|
||||
[LibraryClasses.common.SEC]
|
||||
|
@ -229,7 +229,7 @@
|
|||
!else
|
||||
CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib.inf
|
||||
!endif
|
||||
VmgExitLib|OvmfPkg/Library/VmgExitLib/SecVmgExitLib.inf
|
||||
CcExitLib|OvmfPkg/Library/CcExitLib/SecCcExitLib.inf
|
||||
MemEncryptSevLib|OvmfPkg/Library/BaseMemEncryptSevLib/SecMemEncryptSevLib.inf
|
||||
|
||||
[LibraryClasses.common.PEI_CORE]
|
||||
|
|
|
@ -232,7 +232,7 @@
|
|||
|
||||
[LibraryClasses.common]
|
||||
BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
|
||||
VmgExitLib|UefiCpuPkg/Library/VmgExitLibNull/VmgExitLibNull.inf
|
||||
CcExitLib|UefiCpuPkg/Library/CcExitLibNull/CcExitLibNull.inf
|
||||
TdxLib|MdePkg/Library/TdxLib/TdxLib.inf
|
||||
|
||||
[LibraryClasses.common.SEC]
|
||||
|
|
|
@ -251,7 +251,7 @@
|
|||
|
||||
[LibraryClasses.common]
|
||||
BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
|
||||
VmgExitLib|OvmfPkg/Library/VmgExitLib/VmgExitLib.inf
|
||||
CcExitLib|OvmfPkg/Library/CcExitLib/CcExitLib.inf
|
||||
TdxLib|MdePkg/Library/TdxLib/TdxLib.inf
|
||||
|
||||
[LibraryClasses.common.SEC]
|
||||
|
@ -275,7 +275,7 @@
|
|||
!else
|
||||
CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib.inf
|
||||
!endif
|
||||
VmgExitLib|OvmfPkg/Library/VmgExitLib/SecVmgExitLib.inf
|
||||
CcExitLib|OvmfPkg/Library/CcExitLib/SecCcExitLib.inf
|
||||
MemEncryptSevLib|OvmfPkg/Library/BaseMemEncryptSevLib/SecMemEncryptSevLib.inf
|
||||
|
||||
[LibraryClasses.common.PEI_CORE]
|
||||
|
@ -915,7 +915,7 @@
|
|||
#
|
||||
OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesSmm.inf {
|
||||
<LibraryClasses>
|
||||
VmgExitLib|UefiCpuPkg/Library/VmgExitLibNull/VmgExitLibNull.inf
|
||||
CcExitLib|UefiCpuPkg/Library/CcExitLibNull/CcExitLibNull.inf
|
||||
}
|
||||
MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmm.inf
|
||||
MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmm.inf {
|
||||
|
|
|
@ -215,7 +215,7 @@
|
|||
|
||||
[LibraryClasses.common]
|
||||
BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
|
||||
VmgExitLib|OvmfPkg/Library/VmgExitLib/VmgExitLib.inf
|
||||
CcExitLib|OvmfPkg/Library/CcExitLib/CcExitLib.inf
|
||||
TdxLib|MdePkg/Library/TdxLib/TdxLib.inf
|
||||
TdxMailboxLib|OvmfPkg/Library/TdxMailboxLib/TdxMailboxLib.inf
|
||||
PlatformInitLib|OvmfPkg/Library/PlatformInitLib/PlatformInitLib.inf
|
||||
|
@ -237,7 +237,7 @@
|
|||
!else
|
||||
CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib.inf
|
||||
!endif
|
||||
VmgExitLib|OvmfPkg/Library/VmgExitLib/SecVmgExitLib.inf
|
||||
CcExitLib|OvmfPkg/Library/CcExitLib/SecCcExitLib.inf
|
||||
MemEncryptSevLib|OvmfPkg/Library/BaseMemEncryptSevLib/SecMemEncryptSevLib.inf
|
||||
PrePiHobListPointerLib|OvmfPkg/IntelTdx/PrePiHobListPointerLibTdx/PrePiHobListPointerLibTdx.inf
|
||||
HobLib|EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf
|
||||
|
|
|
@ -51,7 +51,7 @@
|
|||
DebugLib
|
||||
MemoryAllocationLib
|
||||
PcdLib
|
||||
VmgExitLib
|
||||
CcExitLib
|
||||
|
||||
[FeaturePcd]
|
||||
gUefiOvmfPkgTokenSpaceGuid.PcdSmmSmramRequire
|
||||
|
|
|
@ -51,7 +51,7 @@
|
|||
DebugLib
|
||||
MemoryAllocationLib
|
||||
PcdLib
|
||||
VmgExitLib
|
||||
CcExitLib
|
||||
|
||||
[FeaturePcd]
|
||||
gUefiOvmfPkgTokenSpaceGuid.PcdSmmSmramRequire
|
||||
|
|
|
@ -48,7 +48,7 @@
|
|||
CpuLib
|
||||
DebugLib
|
||||
PcdLib
|
||||
VmgExitLib
|
||||
CcExitLib
|
||||
|
||||
[FixedPcd]
|
||||
gUefiCpuPkgTokenSpaceGuid.PcdSevEsWorkAreaBase
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
#include <Library/BaseMemoryLib.h>
|
||||
#include <Library/MemEncryptSevLib.h>
|
||||
#include <Library/DebugLib.h>
|
||||
#include <Library/VmgExitLib.h>
|
||||
#include <Library/CcExitLib.h>
|
||||
|
||||
#include <Register/Amd/Ghcb.h>
|
||||
#include <Register/Amd/Msr.h>
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
/** @file
|
||||
VMGEXIT Support Library.
|
||||
CcExitLib Support Library.
|
||||
|
||||
Copyright (C) 2020, Advanced Micro Devices, Inc. All rights reserved.<BR>
|
||||
Copyright (C) 2020 - 2022, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
@ -9,7 +10,7 @@
|
|||
#include <Base.h>
|
||||
#include <Uefi.h>
|
||||
#include <Library/BaseMemoryLib.h>
|
||||
#include <Library/VmgExitLib.h>
|
||||
#include <Library/CcExitLib.h>
|
||||
#include <Register/Amd/Msr.h>
|
||||
|
||||
/**
|
|
@ -1,18 +1,19 @@
|
|||
## @file
|
||||
# VMGEXIT Support Library.
|
||||
# CcExitLib Library.
|
||||
#
|
||||
# Copyright (C) 2020, Advanced Micro Devices, Inc. All rights reserved.<BR>
|
||||
# Copyright (C) 2020 - 2022, Intel Corporation. All rights reserved.<BR>
|
||||
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
#
|
||||
##
|
||||
|
||||
[Defines]
|
||||
INF_VERSION = 0x00010005
|
||||
BASE_NAME = VmgExitLib
|
||||
BASE_NAME = CcExitLib
|
||||
FILE_GUID = 0e923c25-13cd-430b-8714-ffe85652a97b
|
||||
MODULE_TYPE = BASE
|
||||
VERSION_STRING = 1.0
|
||||
LIBRARY_CLASS = VmgExitLib|PEIM DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_DRIVER
|
||||
LIBRARY_CLASS = CcExitLib|PEIM DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_DRIVER
|
||||
|
||||
#
|
||||
# The following information is for reference only and not required by the build tools.
|
||||
|
@ -21,11 +22,11 @@
|
|||
#
|
||||
|
||||
[Sources.common]
|
||||
VmgExitLib.c
|
||||
VmgExitVcHandler.c
|
||||
VmgExitVcHandler.h
|
||||
PeiDxeVmgExitVcHandler.c
|
||||
VmTdExitVeHandler.c
|
||||
CcExitLib.c
|
||||
CcExitVcHandler.c
|
||||
CcExitVcHandler.h
|
||||
PeiDxeCcExitVcHandler.c
|
||||
CcExitVeHandler.c
|
||||
X64/TdVmcallCpuid.nasm
|
||||
|
||||
[Packages]
|
|
@ -5,8 +5,8 @@
|
|||
|
||||
**/
|
||||
|
||||
#ifndef VMTD_EXIT_HANDLER_H_
|
||||
#define VMTD_EXIT_HANDLER_H_
|
||||
#ifndef CC_EXIT_TD_H_
|
||||
#define CC_EXIT_TD_H_
|
||||
|
||||
#include <Base.h>
|
||||
#include <Uefi.h>
|
|
@ -11,13 +11,12 @@
|
|||
#include <Library/BaseMemoryLib.h>
|
||||
#include <Library/LocalApicLib.h>
|
||||
#include <Library/MemEncryptSevLib.h>
|
||||
#include <Library/VmgExitLib.h>
|
||||
#include <Library/CcExitLib.h>
|
||||
#include <Register/Amd/Msr.h>
|
||||
#include <Register/Intel/Cpuid.h>
|
||||
#include <IndustryStandard/InstructionParsing.h>
|
||||
|
||||
#include "VmgExitVcHandler.h"
|
||||
// #include <Library/MemEncryptSevLib.h>
|
||||
#include "CcExitVcHandler.h"
|
||||
|
||||
//
|
||||
// Instruction execution mode definition
|
|
@ -6,12 +6,12 @@
|
|||
|
||||
**/
|
||||
|
||||
#ifndef __VMG_EXIT_VC_HANDLER_H__
|
||||
#define __VMG_EXIT_VC_HANDLER_H__
|
||||
#ifndef CC_EXIT_VC_HANDLER_H_
|
||||
#define CC_EXIT_VC_HANDLER_H_
|
||||
|
||||
#include <Base.h>
|
||||
#include <Uefi.h>
|
||||
#include <Library/VmgExitLib.h>
|
||||
#include <Library/CcExitLib.h>
|
||||
|
||||
/**
|
||||
Handle a #VC exception.
|
|
@ -8,8 +8,8 @@
|
|||
|
||||
#include <Library/BaseLib.h>
|
||||
#include <Library/DebugLib.h>
|
||||
#include "VmTdExitHandler.h"
|
||||
#include <Library/VmgExitLib.h>
|
||||
#include "CcExitTd.h"
|
||||
#include <Library/CcExitLib.h>
|
||||
#include <Library/BaseMemoryLib.h>
|
||||
#include <IndustryStandard/Tdx.h>
|
||||
#include <IndustryStandard/InstructionParsing.h>
|
|
@ -10,10 +10,10 @@
|
|||
#include <Uefi.h>
|
||||
#include <Library/BaseMemoryLib.h>
|
||||
#include <Library/MemEncryptSevLib.h>
|
||||
#include <Library/VmgExitLib.h>
|
||||
#include <Library/CcExitLib.h>
|
||||
#include <Register/Amd/Msr.h>
|
||||
|
||||
#include "VmgExitVcHandler.h"
|
||||
#include "CcExitVcHandler.h"
|
||||
|
||||
/**
|
||||
Handle a #VC exception.
|
|
@ -8,11 +8,11 @@
|
|||
|
||||
[Defines]
|
||||
INF_VERSION = 0x00010005
|
||||
BASE_NAME = SecVmgExitLib
|
||||
BASE_NAME = SecCcExitLib
|
||||
FILE_GUID = dafff819-f86c-4cff-a70e-83161e5bcf9a
|
||||
MODULE_TYPE = BASE
|
||||
VERSION_STRING = 1.0
|
||||
LIBRARY_CLASS = VmgExitLib|SEC
|
||||
LIBRARY_CLASS = CcExitLib|SEC
|
||||
|
||||
#
|
||||
# The following information is for reference only and not required by the build tools.
|
||||
|
@ -21,11 +21,11 @@
|
|||
#
|
||||
|
||||
[Sources.common]
|
||||
VmgExitLib.c
|
||||
VmgExitVcHandler.c
|
||||
VmgExitVcHandler.h
|
||||
SecVmgExitVcHandler.c
|
||||
VmTdExitVeHandler.c
|
||||
CcExitLib.c
|
||||
CcExitVcHandler.c
|
||||
CcExitVcHandler.h
|
||||
SecCcExitVcHandler.c
|
||||
CcExitVeHandler.c
|
||||
X64/TdVmcallCpuid.nasm
|
||||
|
||||
[Packages]
|
|
@ -10,10 +10,10 @@
|
|||
#include <Uefi.h>
|
||||
#include <Library/BaseMemoryLib.h>
|
||||
#include <Library/MemEncryptSevLib.h>
|
||||
#include <Library/VmgExitLib.h>
|
||||
#include <Library/CcExitLib.h>
|
||||
#include <Register/Amd/Msr.h>
|
||||
|
||||
#include "VmgExitVcHandler.h"
|
||||
#include "CcExitVcHandler.h"
|
||||
|
||||
/**
|
||||
Handle a #VC exception.
|
|
@ -249,7 +249,7 @@
|
|||
|
||||
[LibraryClasses.common]
|
||||
BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
|
||||
VmgExitLib|OvmfPkg/Library/VmgExitLib/VmgExitLib.inf
|
||||
CcExitLib|OvmfPkg/Library/CcExitLib/CcExitLib.inf
|
||||
SerialPortLib|MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf
|
||||
PlatformHookLib|MdeModulePkg/Library/BasePlatformHookLibNull/BasePlatformHookLibNull.inf
|
||||
FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf
|
||||
|
@ -277,7 +277,7 @@
|
|||
!else
|
||||
CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib.inf
|
||||
!endif
|
||||
VmgExitLib|OvmfPkg/Library/VmgExitLib/SecVmgExitLib.inf
|
||||
CcExitLib|OvmfPkg/Library/CcExitLib/SecCcExitLib.inf
|
||||
MemEncryptSevLib|OvmfPkg/Library/BaseMemEncryptSevLib/SecMemEncryptSevLib.inf
|
||||
|
||||
[LibraryClasses.common.PEI_CORE]
|
||||
|
|
|
@ -256,7 +256,7 @@
|
|||
|
||||
[LibraryClasses.common]
|
||||
BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
|
||||
VmgExitLib|UefiCpuPkg/Library/VmgExitLibNull/VmgExitLibNull.inf
|
||||
CcExitLib|UefiCpuPkg/Library/CcExitLibNull/CcExitLibNull.inf
|
||||
|
||||
[LibraryClasses.common.SEC]
|
||||
TimerLib|OvmfPkg/Library/AcpiTimerLib/BaseRomAcpiTimerLib.inf
|
||||
|
@ -984,7 +984,7 @@
|
|||
#
|
||||
OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesSmm.inf {
|
||||
<LibraryClasses>
|
||||
VmgExitLib|UefiCpuPkg/Library/VmgExitLibNull/VmgExitLibNull.inf
|
||||
CcExitLib|UefiCpuPkg/Library/CcExitLibNull/CcExitLibNull.inf
|
||||
}
|
||||
MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmm.inf
|
||||
MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmm.inf {
|
||||
|
|
|
@ -260,7 +260,7 @@
|
|||
|
||||
[LibraryClasses.common]
|
||||
BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
|
||||
VmgExitLib|UefiCpuPkg/Library/VmgExitLibNull/VmgExitLibNull.inf
|
||||
CcExitLib|UefiCpuPkg/Library/CcExitLibNull/CcExitLibNull.inf
|
||||
TdxLib|MdePkg/Library/TdxLib/TdxLib.inf
|
||||
TdxMailboxLib|OvmfPkg/Library/TdxMailboxLib/TdxMailboxLib.inf
|
||||
|
||||
|
@ -1002,7 +1002,7 @@
|
|||
#
|
||||
OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesSmm.inf {
|
||||
<LibraryClasses>
|
||||
VmgExitLib|UefiCpuPkg/Library/VmgExitLibNull/VmgExitLibNull.inf
|
||||
CcExitLib|UefiCpuPkg/Library/CcExitLibNull/CcExitLibNull.inf
|
||||
}
|
||||
MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmm.inf
|
||||
MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmm.inf {
|
||||
|
|
|
@ -276,7 +276,7 @@
|
|||
|
||||
[LibraryClasses.common]
|
||||
BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
|
||||
VmgExitLib|OvmfPkg/Library/VmgExitLib/VmgExitLib.inf
|
||||
CcExitLib|OvmfPkg/Library/CcExitLib/CcExitLib.inf
|
||||
TdxLib|MdePkg/Library/TdxLib/TdxLib.inf
|
||||
TdxMailboxLib|OvmfPkg/Library/TdxMailboxLib/TdxMailboxLib.inf
|
||||
|
||||
|
@ -302,7 +302,7 @@
|
|||
!else
|
||||
CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib.inf
|
||||
!endif
|
||||
VmgExitLib|OvmfPkg/Library/VmgExitLib/SecVmgExitLib.inf
|
||||
CcExitLib|OvmfPkg/Library/CcExitLib/SecCcExitLib.inf
|
||||
MemEncryptSevLib|OvmfPkg/Library/BaseMemEncryptSevLib/SecMemEncryptSevLib.inf
|
||||
CcProbeLib|OvmfPkg/Library/CcProbeLib/SecPeiCcProbeLib.inf
|
||||
|
||||
|
@ -1072,7 +1072,7 @@
|
|||
#
|
||||
OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesSmm.inf {
|
||||
<LibraryClasses>
|
||||
VmgExitLib|UefiCpuPkg/Library/VmgExitLibNull/VmgExitLibNull.inf
|
||||
CcExitLib|UefiCpuPkg/Library/CcExitLibNull/CcExitLibNull.inf
|
||||
}
|
||||
MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmm.inf
|
||||
MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmm.inf {
|
||||
|
|
|
@ -231,7 +231,7 @@
|
|||
|
||||
[LibraryClasses.common]
|
||||
BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
|
||||
VmgExitLib|UefiCpuPkg/Library/VmgExitLibNull/VmgExitLibNull.inf
|
||||
CcExitLib|UefiCpuPkg/Library/CcExitLibNull/CcExitLibNull.inf
|
||||
TdxLib|MdePkg/Library/TdxLib/TdxLib.inf
|
||||
|
||||
[LibraryClasses.common.SEC]
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
#include <PiPei.h>
|
||||
#include <Register/Amd/Msr.h>
|
||||
#include <Register/Intel/SmramSaveStateMap.h>
|
||||
#include <Library/VmgExitLib.h>
|
||||
#include <Library/CcExitLib.h>
|
||||
#include <ConfidentialComputingGuestAttr.h>
|
||||
|
||||
#include "Platform.h"
|
||||
|
|
|
@ -63,7 +63,7 @@
|
|||
MtrrLib
|
||||
MemEncryptSevLib
|
||||
PcdLib
|
||||
VmgExitLib
|
||||
CcExitLib
|
||||
PlatformInitLib
|
||||
|
||||
[Pcd]
|
||||
|
|
|
@ -53,7 +53,7 @@
|
|||
UefiBootServicesTableLib
|
||||
UefiDriverEntryPoint
|
||||
UefiRuntimeLib
|
||||
VmgExitLib
|
||||
CcExitLib
|
||||
|
||||
[Guids]
|
||||
gEfiEventVirtualAddressChangeGuid # ALWAYS_CONSUMED
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
#include <Library/UefiRuntimeLib.h>
|
||||
#include <Library/MemEncryptSevLib.h>
|
||||
#include <Library/VmgExitLib.h>
|
||||
#include <Library/CcExitLib.h>
|
||||
#include <Register/Amd/Msr.h>
|
||||
|
||||
#include "QemuFlash.h"
|
||||
|
|
|
@ -1,16 +1,19 @@
|
|||
/** @file
|
||||
Public header file for the VMGEXIT Support library class.
|
||||
Public header file for the CcExitLib.
|
||||
|
||||
This library class defines some routines used when invoking the VMGEXIT
|
||||
instruction in support of SEV-ES and to handle #VC exceptions.
|
||||
This library class defines some routines used for below CcExit handler.
|
||||
- Invoking the VMGEXIT instruction in support of SEV-ES and to handle
|
||||
#VC exceptions.
|
||||
- Handle #VE exception in TDX.
|
||||
|
||||
Copyright (C) 2020, Advanced Micro Devices, Inc. All rights reserved.<BR>
|
||||
Copyright (c) 2020 - 2022, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __VMG_EXIT_LIB_H__
|
||||
#define __VMG_EXIT_LIB_H__
|
||||
#ifndef CC_EXIT_LIB_H_
|
||||
#define CC_EXIT_LIB_H_
|
||||
|
||||
#include <Protocol/DebugSupport.h>
|
||||
#include <Register/Amd/Ghcb.h>
|
|
@ -1,14 +1,15 @@
|
|||
/** @file
|
||||
VMGEXIT Base Support Library.
|
||||
CcExit Base Support Library.
|
||||
|
||||
Copyright (C) 2020, Advanced Micro Devices, Inc. All rights reserved.<BR>
|
||||
Copyright (c) 2020 - 2022, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#include <Base.h>
|
||||
#include <Uefi.h>
|
||||
#include <Library/VmgExitLib.h>
|
||||
#include <Library/CcExitLib.h>
|
||||
|
||||
/**
|
||||
Perform VMGEXIT.
|
||||
|
@ -163,3 +164,31 @@ VmgExitHandleVc (
|
|||
|
||||
return EFI_UNSUPPORTED;
|
||||
}
|
||||
|
||||
/**
|
||||
Handle a #VE exception.
|
||||
|
||||
Performs the necessary processing to handle a #VE exception.
|
||||
|
||||
@param[in, out] ExceptionType Pointer to an EFI_EXCEPTION_TYPE to be set
|
||||
as value to use on error.
|
||||
@param[in, out] SystemContext Pointer to EFI_SYSTEM_CONTEXT
|
||||
|
||||
@retval EFI_SUCCESS Exception handled
|
||||
@retval EFI_UNSUPPORTED #VE not supported, (new) exception value to
|
||||
propagate provided
|
||||
@retval EFI_PROTOCOL_ERROR #VE handling failed, (new) exception value to
|
||||
propagate provided
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
VmTdExitHandleVe (
|
||||
IN OUT EFI_EXCEPTION_TYPE *ExceptionType,
|
||||
IN OUT EFI_SYSTEM_CONTEXT SystemContext
|
||||
)
|
||||
{
|
||||
*ExceptionType = VE_EXCEPTION;
|
||||
|
||||
return EFI_UNSUPPORTED;
|
||||
}
|
|
@ -1,23 +1,23 @@
|
|||
## @file
|
||||
# VMGEXIT Support Library.
|
||||
# CcExit Base Support Library.
|
||||
#
|
||||
# Copyright (C) 2020, Advanced Micro Devices, Inc. All rights reserved.<BR>
|
||||
# Copyright (c) 2020 - 2022, Intel Corporation. All rights reserved.<BR>
|
||||
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
#
|
||||
##
|
||||
|
||||
[Defines]
|
||||
INF_VERSION = 0x00010005
|
||||
BASE_NAME = VmgExitLibNull
|
||||
MODULE_UNI_FILE = VmgExitLibNull.uni
|
||||
BASE_NAME = CcExitLibNull
|
||||
MODULE_UNI_FILE = CcExitLibNull.uni
|
||||
FILE_GUID = 3cd7368f-ef9b-4a9b-9571-2ed93813677e
|
||||
MODULE_TYPE = BASE
|
||||
VERSION_STRING = 1.0
|
||||
LIBRARY_CLASS = VmgExitLib
|
||||
LIBRARY_CLASS = CcExitLib
|
||||
|
||||
[Sources.common]
|
||||
VmgExitLibNull.c
|
||||
VmTdExitNull.c
|
||||
CcExitLibNull.c
|
||||
|
||||
[Packages]
|
||||
MdePkg/MdePkg.dec
|
|
@ -0,0 +1,14 @@
|
|||
// /** @file
|
||||
// CcExitLib instance.
|
||||
//
|
||||
// Copyright (C) 2020, Advanced Micro Devices, Inc. All rights reserved.<BR>
|
||||
// Copyright (c) 2020 - 2022, Intel Corporation. All rights reserved.<BR>
|
||||
// SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
//
|
||||
// **/
|
||||
|
||||
|
||||
#string STR_MODULE_ABSTRACT #language en-US "CcExitLib NULL instance"
|
||||
|
||||
#string STR_MODULE_DESCRIPTION #language en-US "CcExitLib NULL instance."
|
||||
|
|
@ -60,4 +60,4 @@
|
|||
PeCoffGetEntryPointLib
|
||||
MemoryAllocationLib
|
||||
DebugLib
|
||||
VmgExitLib
|
||||
CcExitLib
|
||||
|
|
|
@ -52,7 +52,7 @@
|
|||
HobLib
|
||||
MemoryAllocationLib
|
||||
SynchronizationLib
|
||||
VmgExitLib
|
||||
CcExitLib
|
||||
|
||||
[Pcd]
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdCpuStackGuard # CONSUMES
|
||||
|
|
|
@ -7,7 +7,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
|
|||
**/
|
||||
|
||||
#include <Library/DebugLib.h>
|
||||
#include <Library/VmgExitLib.h>
|
||||
#include <Library/CcExitLib.h>
|
||||
#include "CpuExceptionCommon.h"
|
||||
|
||||
/**
|
||||
|
|
|
@ -7,7 +7,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
|
|||
**/
|
||||
|
||||
#include <PiPei.h>
|
||||
#include <Library/VmgExitLib.h>
|
||||
#include <Library/CcExitLib.h>
|
||||
#include "CpuExceptionCommon.h"
|
||||
|
||||
CONST UINTN mDoFarReturnFlag = 0;
|
||||
|
|
|
@ -48,7 +48,7 @@
|
|||
PrintLib
|
||||
LocalApicLib
|
||||
PeCoffGetEntryPointLib
|
||||
VmgExitLib
|
||||
CcExitLib
|
||||
|
||||
[Pcd]
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdCpuStackGuard
|
||||
|
|
|
@ -51,7 +51,7 @@
|
|||
LocalApicLib
|
||||
PeCoffGetEntryPointLib
|
||||
DebugLib
|
||||
VmgExitLib
|
||||
CcExitLib
|
||||
|
||||
[Pcd]
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdCpuStackGuard
|
||||
|
|
|
@ -53,7 +53,7 @@
|
|||
PrintLib
|
||||
LocalApicLib
|
||||
PeCoffGetEntryPointLib
|
||||
VmgExitLib
|
||||
CcExitLib
|
||||
|
||||
[Pcd]
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdCpuStackGuard
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
**/
|
||||
|
||||
#include "MpLib.h"
|
||||
#include <Library/VmgExitLib.h>
|
||||
#include <Library/CcExitLib.h>
|
||||
|
||||
/**
|
||||
Get Protected mode code segment with 16-bit default addressing
|
||||
|
|
|
@ -54,7 +54,7 @@
|
|||
DebugAgentLib
|
||||
SynchronizationLib
|
||||
PcdLib
|
||||
VmgExitLib
|
||||
CcExitLib
|
||||
MicrocodeLib
|
||||
|
||||
[Protocols]
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
#include <Library/UefiBootServicesTableLib.h>
|
||||
#include <Library/DebugAgentLib.h>
|
||||
#include <Library/DxeServicesTableLib.h>
|
||||
#include <Library/VmgExitLib.h>
|
||||
#include <Library/CcExitLib.h>
|
||||
#include <Register/Amd/Fam17Msr.h>
|
||||
#include <Register/Amd/Ghcb.h>
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
**/
|
||||
|
||||
#include "MpLib.h"
|
||||
#include <Library/VmgExitLib.h>
|
||||
#include <Library/CcExitLib.h>
|
||||
#include <Register/Amd/Fam17Msr.h>
|
||||
#include <Register/Amd/Ghcb.h>
|
||||
|
||||
|
|
|
@ -53,7 +53,7 @@
|
|||
SynchronizationLib
|
||||
PeiServicesLib
|
||||
PcdLib
|
||||
VmgExitLib
|
||||
CcExitLib
|
||||
MicrocodeLib
|
||||
|
||||
[Pcd]
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
**/
|
||||
|
||||
#include "MpLib.h"
|
||||
#include <Library/VmgExitLib.h>
|
||||
#include <Library/CcExitLib.h>
|
||||
#include <Register/Amd/Fam17Msr.h>
|
||||
#include <Register/Amd/Ghcb.h>
|
||||
|
||||
|
|
|
@ -1,38 +0,0 @@
|
|||
/** @file
|
||||
|
||||
Copyright (c) 2021, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
#include <Base.h>
|
||||
#include <Uefi.h>
|
||||
#include <Library/VmgExitLib.h>
|
||||
|
||||
/**
|
||||
Handle a #VE exception.
|
||||
|
||||
Performs the necessary processing to handle a #VE exception.
|
||||
|
||||
@param[in, out] ExceptionType Pointer to an EFI_EXCEPTION_TYPE to be set
|
||||
as value to use on error.
|
||||
@param[in, out] SystemContext Pointer to EFI_SYSTEM_CONTEXT
|
||||
|
||||
@retval EFI_SUCCESS Exception handled
|
||||
@retval EFI_UNSUPPORTED #VE not supported, (new) exception value to
|
||||
propagate provided
|
||||
@retval EFI_PROTOCOL_ERROR #VE handling failed, (new) exception value to
|
||||
propagate provided
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
VmTdExitHandleVe (
|
||||
IN OUT EFI_EXCEPTION_TYPE *ExceptionType,
|
||||
IN OUT EFI_SYSTEM_CONTEXT SystemContext
|
||||
)
|
||||
{
|
||||
*ExceptionType = VE_EXCEPTION;
|
||||
|
||||
return EFI_UNSUPPORTED;
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
// /** @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."
|
||||
|
|
@ -53,8 +53,8 @@
|
|||
##
|
||||
MpInitLib|Include/Library/MpInitLib.h
|
||||
|
||||
## @libraryclass Provides function to support VMGEXIT processing.
|
||||
VmgExitLib|Include/Library/VmgExitLib.h
|
||||
## @libraryclass Provides function to support CcExit processing.
|
||||
CcExitLib|Include/Library/CcExitLib.h
|
||||
|
||||
## @libraryclass Provides function to get CPU cache information.
|
||||
CpuCacheInfoLib|Include/Library/CpuCacheInfoLib.h
|
||||
|
|
|
@ -59,7 +59,7 @@
|
|||
PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
|
||||
PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
|
||||
TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf
|
||||
VmgExitLib|UefiCpuPkg/Library/VmgExitLibNull/VmgExitLibNull.inf
|
||||
CcExitLib|UefiCpuPkg/Library/CcExitLibNull/CcExitLibNull.inf
|
||||
MicrocodeLib|UefiCpuPkg/Library/MicrocodeLib/MicrocodeLib.inf
|
||||
SmmCpuRendezvousLib|UefiCpuPkg/Library/SmmCpuRendezvousLib/SmmCpuRendezvousLib.inf
|
||||
CpuPageTableLib|UefiCpuPkg/Library/CpuPageTableLib/CpuPageTableLib.inf
|
||||
|
@ -163,7 +163,7 @@
|
|||
UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.inf
|
||||
UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLibStm.inf
|
||||
UefiCpuPkg/Library/SmmCpuFeaturesLib/StandaloneMmCpuFeaturesLib.inf
|
||||
UefiCpuPkg/Library/VmgExitLibNull/VmgExitLibNull.inf
|
||||
UefiCpuPkg/Library/CcExitLibNull/CcExitLibNull.inf
|
||||
UefiCpuPkg/PiSmmCommunication/PiSmmCommunicationPei.inf
|
||||
UefiCpuPkg/PiSmmCommunication/PiSmmCommunicationSmm.inf
|
||||
UefiCpuPkg/SecCore/SecCore.inf
|
||||
|
|
|
@ -301,7 +301,7 @@
|
|||
VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLib.inf
|
||||
VariablePolicyHelperLib|MdeModulePkg/Library/VariablePolicyHelperLib/VariablePolicyHelperLib.inf
|
||||
VariableFlashInfoLib|MdeModulePkg/Library/BaseVariableFlashInfoLib/BaseVariableFlashInfoLib.inf
|
||||
VmgExitLib|UefiCpuPkg/Library/VmgExitLibNull/VmgExitLibNull.inf
|
||||
CcExitLib|UefiCpuPkg/Library/CcExitLibNull/CcExitLibNull.inf
|
||||
ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
|
||||
|
||||
[LibraryClasses.common]
|
||||
|
|
Loading…
Reference in New Issue