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:
@@ -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
|
14
UefiCpuPkg/Library/CcExitLibNull/CcExitLibNull.uni
Normal file
14
UefiCpuPkg/Library/CcExitLibNull/CcExitLibNull.uni
Normal file
@@ -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
|
||||
|
Reference in New Issue
Block a user