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-set creates CcExitLib which is a simple copy of VmgExitLib
except some of the API names are renamed with a CcExitLib prefix. For
example VmgExit is renamed as CcExitLibVmgExit.
To make sure the build will not be broken by the renaming, this patch-set
first creates CcExitLib (Patch #1/2). Then VmgExitLib is replaced by
CcExitLib in UefiCpuPkg/UefiPayloadPkg/OvmfPkg (Patch #3/4/5/6). After
that VmgExitLib is deleted (Patch #7/8). At last Maintainers.txt
is updated (Patch #9).
Code: https://github.com/mxu9/edk2/tree/CcExitLib.v3
v3 changes:
- Rename CcExitHandleVc / CcExitHandleVe to
CcExitLibHandleVc / CcExitLibHandleVe to make the nameing consistent.
- Update the CcExitLib to merge the patch eff44c008d99
(OvmfPkg/VmgExitLig: HALT on #VE when access to private memory).
v2 changes:
- Patch #3 is added to import CcExitLib in OvmfPkg's *.dsc. This is to
prevent the building from being broken in the following patches.
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>
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: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
Signed-off-by: Min Xu <min.m.xu@intel.com>
Min M Xu (9):
UefiCpuPkg: Add CcExitLib
OvmfPkg: Implement CcExitLib
OvmfPkg: Add CcExitLib in *.dsc
UefiCpuPkg: Use CcExitLib instead of VmgExitLib
UefiPayloadPkg: Use CcExitLib instead of VmgExitLib
OvmfPkg: Use CcExitLib instead of VmgExitLib
OvmfPkg: Delete VmgExitLib
UefiCpuPkg: Delete VmgExitLib
Maintainers: Update the VmgExitLib to CcExitLib
Maintainers.txt | 2 +-
OvmfPkg/AmdSev/AmdSevX64.dsc | 4 +-
OvmfPkg/Bhyve/BhyveX64.dsc | 2 +-
OvmfPkg/CloudHv/CloudHvX64.dsc | 6 +-
OvmfPkg/IntelTdx/IntelTdxX64.dsc | 4 +-
.../DxeMemEncryptSevLib.inf | 2 +-
.../PeiMemEncryptSevLib.inf | 2 +-
.../SecMemEncryptSevLib.inf | 2 +-
.../X64/SnpPageStateChangeInternal.c | 10 +-
.../VmgExitLib.c => CcExitLib/CcExitLib.c} | 23 +--
.../CcExitLib.inf} | 19 +--
.../CcExitTd.h} | 6 +-
.../CcExitVcHandler.c} | 133 +++++++++---------
.../CcExitVcHandler.h} | 10 +-
.../CcExitVeHandler.c} | 8 +-
.../PeiDxeCcExitVcHandler.c} | 12 +-
.../SecCcExitLib.inf} | 16 +--
.../SecCcExitVcHandler.c} | 12 +-
.../X64/TdVmcallCpuid.nasm | 4 +-
OvmfPkg/Microvm/MicrovmX64.dsc | 4 +-
OvmfPkg/OvmfPkgIa32.dsc | 4 +-
OvmfPkg/OvmfPkgIa32X64.dsc | 4 +-
OvmfPkg/OvmfPkgX64.dsc | 6 +-
OvmfPkg/OvmfXen.dsc | 2 +-
OvmfPkg/PlatformPei/AmdSev.c | 10 +-
OvmfPkg/PlatformPei/PlatformPei.inf | 2 +-
.../FvbServicesRuntimeDxe.inf | 2 +-
.../QemuFlashDxe.c | 10 +-
.../Library/{VmgExitLib.h => CcExitLib.h} | 29 ++--
.../CcExitLibNull.c} | 47 +++++--
.../CcExitLibNull.inf} | 14 +-
.../Library/CcExitLibNull/CcExitLibNull.uni | 14 ++
.../DxeCpuExceptionHandlerLib.inf | 2 +-
.../PeiCpuExceptionHandlerLib.inf | 2 +-
.../PeiDxeSmmCpuException.c | 6 +-
.../SecPeiCpuException.c | 6 +-
.../SecPeiCpuExceptionHandlerLib.inf | 2 +-
.../SmmCpuExceptionHandlerLib.inf | 2 +-
.../Xcode5SecPeiCpuExceptionHandlerLib.inf | 2 +-
UefiCpuPkg/Library/MpInitLib/AmdSev.c | 10 +-
UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf | 2 +-
UefiCpuPkg/Library/MpInitLib/DxeMpLib.c | 8 +-
UefiCpuPkg/Library/MpInitLib/MpLib.c | 2 +-
UefiCpuPkg/Library/MpInitLib/PeiMpInitLib.inf | 2 +-
UefiCpuPkg/Library/MpInitLib/X64/AmdSev.c | 10 +-
.../Library/VmgExitLibNull/VmTdExitNull.c | 38 -----
.../Library/VmgExitLibNull/VmgExitLibNull.uni | 15 --
UefiCpuPkg/UefiCpuPkg.dec | 4 +-
UefiCpuPkg/UefiCpuPkg.dsc | 4 +-
UefiPayloadPkg/UefiPayloadPkg.dsc | 2 +-
50 files changed, 269 insertions(+), 275 deletions(-)
rename OvmfPkg/Library/{VmgExitLib/VmgExitLib.c => CcExitLib/CcExitLib.c} (89%)
rename OvmfPkg/Library/{VmgExitLib/VmgExitLib.inf => CcExitLib/CcExitLib.inf} (60%)
rename OvmfPkg/Library/{VmgExitLib/VmTdExitHandler.h => CcExitLib/CcExitTd.h} (84%)
rename OvmfPkg/Library/{VmgExitLib/VmgExitVcHandler.c => CcExitLib/CcExitVcHandler.c} (90%)
rename OvmfPkg/Library/{VmgExitLib/VmgExitVcHandler.h => CcExitLib/CcExitVcHandler.h} (85%)
rename OvmfPkg/Library/{VmgExitLib/VmTdExitVeHandler.c => CcExitLib/CcExitVeHandler.c} (95%)
rename OvmfPkg/Library/{VmgExitLib/PeiDxeVmgExitVcHandler.c => CcExitLib/PeiDxeCcExitVcHandler.c} (87%)
rename OvmfPkg/Library/{VmgExitLib/SecVmgExitLib.inf => CcExitLib/SecCcExitLib.inf} (73%)
rename OvmfPkg/Library/{VmgExitLib/SecVmgExitVcHandler.c => CcExitLib/SecCcExitVcHandler.c} (88%)
rename OvmfPkg/Library/{VmgExitLib => CcExitLib}/X64/TdVmcallCpuid.nasm (93%)
rename UefiCpuPkg/Include/Library/{VmgExitLib.h => CcExitLib.h} (86%)
rename UefiCpuPkg/Library/{VmgExitLibNull/VmgExitLibNull.c => CcExitLibNull/CcExitLibNull.c} (76%)
rename UefiCpuPkg/Library/{VmgExitLibNull/VmgExitLibNull.inf => CcExitLibNull/CcExitLibNull.inf} (50%)
create mode 100644 UefiCpuPkg/Library/CcExitLibNull/CcExitLibNull.uni
delete mode 100644 UefiCpuPkg/Library/VmgExitLibNull/VmTdExitNull.c
delete mode 100644 UefiCpuPkg/Library/VmgExitLibNull/VmgExitLibNull.uni
--
2.29.2.windows.2
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#96005): https://edk2.groups.io/g/devel/message/96005
Mute This Topic: https://groups.io/mt/94856322/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-