From: Min M Xu <min.m...@intel.com> BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4172
TdxMailboxLib once was designed to be used in DXE phase. But now it is going to be used in SEC/PEI phase (in the following patches). Global variables are not allowed. The library is refactored after those global variables are deleted. Cc: Erdem Aktas <erdemak...@google.com> Cc: Gerd Hoffmann <kra...@redhat.com> Cc: James Bottomley <j...@linux.ibm.com> Cc: Jiewen Yao <jiewen....@intel.com> Cc: Tom Lendacky <thomas.lenda...@amd.com> Signed-off-by: Min Xu <min.m...@intel.com> --- OvmfPkg/Library/TdxMailboxLib/TdxMailbox.c | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/OvmfPkg/Library/TdxMailboxLib/TdxMailbox.c b/OvmfPkg/Library/TdxMailboxLib/TdxMailbox.c index 74cb55611fe3..c580a2885603 100644 --- a/OvmfPkg/Library/TdxMailboxLib/TdxMailbox.c +++ b/OvmfPkg/Library/TdxMailboxLib/TdxMailbox.c @@ -13,14 +13,10 @@ #include <Library/UefiCpuLib.h> #include <Library/SynchronizationLib.h> #include <Uefi/UefiBaseType.h> -#include <Library/TdxLib.h> #include <IndustryStandard/IntelTdx.h> #include <IndustryStandard/Tdx.h> #include <Library/TdxMailboxLib.h> -volatile VOID *mMailBox = NULL; -UINT32 mNumOfCpus = 0; - /** This function will be called by BSP to get the CPU number. @@ -32,11 +28,17 @@ GetCpusNum ( VOID ) { - if (mNumOfCpus == 0) { - mNumOfCpus = TdVCpuNum (); + UINT64 Status; + TD_RETURN_DATA TdReturnData; + + Status = TdCall (TDCALL_TDINFO, 0, 0, 0, &TdReturnData); + if (Status == TDX_EXIT_REASON_SUCCESS) { + return TdReturnData.TdInfo.NumVcpus; + } else { + DEBUG ((DEBUG_ERROR, "Failed call TDCALL_TDINFO. %llx\n", Status)); } - return mNumOfCpus; + return 0; } /** @@ -48,11 +50,7 @@ GetTdxMailBox ( VOID ) { - if (mMailBox == NULL) { - mMailBox = (VOID *)(UINTN)PcdGet32 (PcdOvmfSecGhcbBackupBase); - } - - return mMailBox; + return (VOID *)(UINTN)PcdGet32 (PcdOvmfSecGhcbBackupBase); } /** -- 2.29.2.windows.2 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#97619): https://edk2.groups.io/g/devel/message/97619 Mute This Topic: https://groups.io/mt/95782427/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-