Преглед изворни кода

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>
Min M Xu пре 1 година
родитељ
комит
a89f558d3c
49 измењених фајлова са 135 додато и 141 уклоњено
  1. 2 2
      OvmfPkg/AmdSev/AmdSevX64.dsc
  2. 1 1
      OvmfPkg/Bhyve/BhyveX64.dsc
  3. 3 3
      OvmfPkg/CloudHv/CloudHvX64.dsc
  4. 2 2
      OvmfPkg/IntelTdx/IntelTdxX64.dsc
  5. 1 1
      OvmfPkg/Library/BaseMemEncryptSevLib/DxeMemEncryptSevLib.inf
  6. 1 1
      OvmfPkg/Library/BaseMemEncryptSevLib/PeiMemEncryptSevLib.inf
  7. 1 1
      OvmfPkg/Library/BaseMemEncryptSevLib/SecMemEncryptSevLib.inf
  8. 1 1
      OvmfPkg/Library/BaseMemEncryptSevLib/X64/SnpPageStateChangeInternal.c
  9. 3 2
      OvmfPkg/Library/CcExitLib/CcExitLib.c
  10. 9 8
      OvmfPkg/Library/CcExitLib/CcExitLib.inf
  11. 2 2
      OvmfPkg/Library/CcExitLib/CcExitTd.h
  12. 2 3
      OvmfPkg/Library/CcExitLib/CcExitVcHandler.c
  13. 3 3
      OvmfPkg/Library/CcExitLib/CcExitVcHandler.h
  14. 2 2
      OvmfPkg/Library/CcExitLib/CcExitVeHandler.c
  15. 2 2
      OvmfPkg/Library/CcExitLib/PeiDxeCcExitVcHandler.c
  16. 7 7
      OvmfPkg/Library/CcExitLib/SecCcExitLib.inf
  17. 2 2
      OvmfPkg/Library/CcExitLib/SecCcExitVcHandler.c
  18. 0 0
      OvmfPkg/Library/CcExitLib/X64/TdVmcallCpuid.nasm
  19. 2 2
      OvmfPkg/Microvm/MicrovmX64.dsc
  20. 2 2
      OvmfPkg/OvmfPkgIa32.dsc
  21. 2 2
      OvmfPkg/OvmfPkgIa32X64.dsc
  22. 3 3
      OvmfPkg/OvmfPkgX64.dsc
  23. 1 1
      OvmfPkg/OvmfXen.dsc
  24. 1 1
      OvmfPkg/PlatformPei/AmdSev.c
  25. 1 1
      OvmfPkg/PlatformPei/PlatformPei.inf
  26. 1 1
      OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf
  27. 1 1
      OvmfPkg/QemuFlashFvbServicesRuntimeDxe/QemuFlashDxe.c
  28. 8 5
      UefiCpuPkg/Include/Library/CcExitLib.h
  29. 31 2
      UefiCpuPkg/Library/CcExitLibNull/CcExitLibNull.c
  30. 6 6
      UefiCpuPkg/Library/CcExitLibNull/CcExitLibNull.inf
  31. 14 0
      UefiCpuPkg/Library/CcExitLibNull/CcExitLibNull.uni
  32. 1 1
      UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
  33. 1 1
      UefiCpuPkg/Library/CpuExceptionHandlerLib/PeiCpuExceptionHandlerLib.inf
  34. 1 1
      UefiCpuPkg/Library/CpuExceptionHandlerLib/PeiDxeSmmCpuException.c
  35. 1 1
      UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuException.c
  36. 1 1
      UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib.inf
  37. 1 1
      UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmCpuExceptionHandlerLib.inf
  38. 1 1
      UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5SecPeiCpuExceptionHandlerLib.inf
  39. 1 1
      UefiCpuPkg/Library/MpInitLib/AmdSev.c
  40. 1 1
      UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf
  41. 1 1
      UefiCpuPkg/Library/MpInitLib/DxeMpLib.c
  42. 1 1
      UefiCpuPkg/Library/MpInitLib/MpLib.c
  43. 1 1
      UefiCpuPkg/Library/MpInitLib/PeiMpInitLib.inf
  44. 1 1
      UefiCpuPkg/Library/MpInitLib/X64/AmdSev.c
  45. 0 38
      UefiCpuPkg/Library/VmgExitLibNull/VmTdExitNull.c
  46. 0 15
      UefiCpuPkg/Library/VmgExitLibNull/VmgExitLibNull.uni
  47. 2 2
      UefiCpuPkg/UefiCpuPkg.dec
  48. 2 2
      UefiCpuPkg/UefiCpuPkg.dsc
  49. 1 1
      UefiPayloadPkg/UefiPayloadPkg.dsc

+ 2 - 2
OvmfPkg/AmdSev/AmdSevX64.dsc

@@ -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]

+ 1 - 1
OvmfPkg/Bhyve/BhyveX64.dsc

@@ -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]

+ 3 - 3
OvmfPkg/CloudHv/CloudHvX64.dsc

@@ -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 {

+ 2 - 2
OvmfPkg/IntelTdx/IntelTdxX64.dsc

@@ -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

+ 1 - 1
OvmfPkg/Library/BaseMemEncryptSevLib/DxeMemEncryptSevLib.inf

@@ -51,7 +51,7 @@
   DebugLib
   MemoryAllocationLib
   PcdLib
-  VmgExitLib
+  CcExitLib
 
 [FeaturePcd]
   gUefiOvmfPkgTokenSpaceGuid.PcdSmmSmramRequire

+ 1 - 1
OvmfPkg/Library/BaseMemEncryptSevLib/PeiMemEncryptSevLib.inf

@@ -51,7 +51,7 @@
   DebugLib
   MemoryAllocationLib
   PcdLib
-  VmgExitLib
+  CcExitLib
 
 [FeaturePcd]
   gUefiOvmfPkgTokenSpaceGuid.PcdSmmSmramRequire

+ 1 - 1
OvmfPkg/Library/BaseMemEncryptSevLib/SecMemEncryptSevLib.inf

@@ -48,7 +48,7 @@
   CpuLib
   DebugLib
   PcdLib
-  VmgExitLib
+  CcExitLib
 
 [FixedPcd]
   gUefiCpuPkgTokenSpaceGuid.PcdSevEsWorkAreaBase

+ 1 - 1
OvmfPkg/Library/BaseMemEncryptSevLib/X64/SnpPageStateChangeInternal.c

@@ -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>

+ 3 - 2
OvmfPkg/Library/VmgExitLib/VmgExitLib.c → OvmfPkg/Library/CcExitLib/CcExitLib.c

@@ -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>
 
 /**

+ 9 - 8
OvmfPkg/Library/VmgExitLib/VmgExitLib.inf → OvmfPkg/Library/CcExitLib/CcExitLib.inf

@@ -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]

+ 2 - 2
OvmfPkg/Library/VmgExitLib/VmTdExitHandler.h → OvmfPkg/Library/CcExitLib/CcExitTd.h

@@ -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>

+ 2 - 3
OvmfPkg/Library/VmgExitLib/VmgExitVcHandler.c → OvmfPkg/Library/CcExitLib/CcExitVcHandler.c

@@ -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

+ 3 - 3
OvmfPkg/Library/VmgExitLib/VmgExitVcHandler.h → OvmfPkg/Library/CcExitLib/CcExitVcHandler.h

@@ -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.

+ 2 - 2
OvmfPkg/Library/VmgExitLib/VmTdExitVeHandler.c → OvmfPkg/Library/CcExitLib/CcExitVeHandler.c

@@ -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>

+ 2 - 2
OvmfPkg/Library/VmgExitLib/PeiDxeVmgExitVcHandler.c → OvmfPkg/Library/CcExitLib/PeiDxeCcExitVcHandler.c

@@ -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.

+ 7 - 7
OvmfPkg/Library/VmgExitLib/SecVmgExitLib.inf → OvmfPkg/Library/CcExitLib/SecCcExitLib.inf

@@ -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]

+ 2 - 2
OvmfPkg/Library/VmgExitLib/SecVmgExitVcHandler.c → OvmfPkg/Library/CcExitLib/SecCcExitVcHandler.c

@@ -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.

+ 0 - 0
OvmfPkg/Library/VmgExitLib/X64/TdVmcallCpuid.nasm → OvmfPkg/Library/CcExitLib/X64/TdVmcallCpuid.nasm


+ 2 - 2
OvmfPkg/Microvm/MicrovmX64.dsc

@@ -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]

+ 2 - 2
OvmfPkg/OvmfPkgIa32.dsc

@@ -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 {

+ 2 - 2
OvmfPkg/OvmfPkgIa32X64.dsc

@@ -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 {

+ 3 - 3
OvmfPkg/OvmfPkgX64.dsc

@@ -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 {

+ 1 - 1
OvmfPkg/OvmfXen.dsc

@@ -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]

+ 1 - 1
OvmfPkg/PlatformPei/AmdSev.c

@@ -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"

+ 1 - 1
OvmfPkg/PlatformPei/PlatformPei.inf

@@ -63,7 +63,7 @@
   MtrrLib
   MemEncryptSevLib
   PcdLib
-  VmgExitLib
+  CcExitLib
   PlatformInitLib
 
 [Pcd]

+ 1 - 1
OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf

@@ -53,7 +53,7 @@
   UefiBootServicesTableLib
   UefiDriverEntryPoint
   UefiRuntimeLib
-  VmgExitLib
+  CcExitLib
 
 [Guids]
   gEfiEventVirtualAddressChangeGuid   # ALWAYS_CONSUMED

+ 1 - 1
OvmfPkg/QemuFlashFvbServicesRuntimeDxe/QemuFlashDxe.c

@@ -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"

+ 8 - 5
UefiCpuPkg/Include/Library/VmgExitLib.h → UefiCpuPkg/Include/Library/CcExitLib.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>

+ 31 - 2
UefiCpuPkg/Library/VmgExitLibNull/VmgExitLibNull.c → UefiCpuPkg/Library/CcExitLibNull/CcExitLibNull.c

@@ -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;
+}

+ 6 - 6
UefiCpuPkg/Library/VmgExitLibNull/VmgExitLibNull.inf → UefiCpuPkg/Library/CcExitLibNull/CcExitLibNull.inf

@@ -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 - 0
UefiCpuPkg/Library/CcExitLibNull/CcExitLibNull.uni

@@ -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."
+

+ 1 - 1
UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf

@@ -60,4 +60,4 @@
   PeCoffGetEntryPointLib
   MemoryAllocationLib
   DebugLib
-  VmgExitLib
+  CcExitLib

+ 1 - 1
UefiCpuPkg/Library/CpuExceptionHandlerLib/PeiCpuExceptionHandlerLib.inf

@@ -52,7 +52,7 @@
   HobLib
   MemoryAllocationLib
   SynchronizationLib
-  VmgExitLib
+  CcExitLib
 
 [Pcd]
   gEfiMdeModulePkgTokenSpaceGuid.PcdCpuStackGuard    # CONSUMES

+ 1 - 1
UefiCpuPkg/Library/CpuExceptionHandlerLib/PeiDxeSmmCpuException.c

@@ -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"
 
 /**

+ 1 - 1
UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuException.c

@@ -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;

+ 1 - 1
UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib.inf

@@ -48,7 +48,7 @@
   PrintLib
   LocalApicLib
   PeCoffGetEntryPointLib
-  VmgExitLib
+  CcExitLib
 
 [Pcd]
   gEfiMdeModulePkgTokenSpaceGuid.PcdCpuStackGuard

+ 1 - 1
UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmCpuExceptionHandlerLib.inf

@@ -51,7 +51,7 @@
   LocalApicLib
   PeCoffGetEntryPointLib
   DebugLib
-  VmgExitLib
+  CcExitLib
 
 [Pcd]
   gEfiMdeModulePkgTokenSpaceGuid.PcdCpuStackGuard

+ 1 - 1
UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5SecPeiCpuExceptionHandlerLib.inf

@@ -53,7 +53,7 @@
   PrintLib
   LocalApicLib
   PeCoffGetEntryPointLib
-  VmgExitLib
+  CcExitLib
 
 [Pcd]
   gEfiMdeModulePkgTokenSpaceGuid.PcdCpuStackGuard

+ 1 - 1
UefiCpuPkg/Library/MpInitLib/AmdSev.c

@@ -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

+ 1 - 1
UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf

@@ -54,7 +54,7 @@
   DebugAgentLib
   SynchronizationLib
   PcdLib
-  VmgExitLib
+  CcExitLib
   MicrocodeLib
 
 [Protocols]

+ 1 - 1
UefiCpuPkg/Library/MpInitLib/DxeMpLib.c

@@ -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>
 

+ 1 - 1
UefiCpuPkg/Library/MpInitLib/MpLib.c

@@ -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 - 1
UefiCpuPkg/Library/MpInitLib/PeiMpInitLib.inf

@@ -53,7 +53,7 @@
   SynchronizationLib
   PeiServicesLib
   PcdLib
-  VmgExitLib
+  CcExitLib
   MicrocodeLib
 
 [Pcd]

+ 1 - 1
UefiCpuPkg/Library/MpInitLib/X64/AmdSev.c

@@ -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>
 

+ 0 - 38
UefiCpuPkg/Library/VmgExitLibNull/VmTdExitNull.c

@@ -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;
-}

+ 0 - 15
UefiCpuPkg/Library/VmgExitLibNull/VmgExitLibNull.uni

@@ -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."
-

+ 2 - 2
UefiCpuPkg/UefiCpuPkg.dec

@@ -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

+ 2 - 2
UefiCpuPkg/UefiCpuPkg.dsc

@@ -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

+ 1 - 1
UefiPayloadPkg/UefiPayloadPkg.dsc

@@ -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]