From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mx.groups.io with SMTP id smtpd.web10.128317.1671093895214005705 for ; Thu, 15 Dec 2022 00:44:56 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=noEJgluA; spf=pass (domain: intel.com, ip: 192.55.52.151, mailfrom: min.m.xu@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1671093896; x=1702629896; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=Ry8iwlRAt1PowQ1vEg02Oz5bkk7793FSgX7TEy6NkbY=; b=noEJgluArrJj0DviFNd4CIrf3JNPBmkDDPdkIzN4UmT1cyiqdfSAslX9 U1Ey6RRziC5+bt+NJ3nxuJjFTXfFAuKDpBnONgHQrg8wVsi3Pk/o6y7h/ s8DA/7UBYisdYKEVeTP32dUbwSBM5sQgaFPvYV9NYAALvR14g32eOEKkh eVDHzO2GtPUSLRIpDsSwN+8bjHtcLTRp6HiduOrMCqizJuLH7WwM45gts wPU6cdrL9Cmap1XbqKZK3DfzZRBlsP0LC0uOgRj9W2avlruL31N8CgqNK 6AqBy31e0if9g0zlEypWkomhkrdOyiAxXEBh3P14a1BMIdewj3VYvubVi w==; X-IronPort-AV: E=McAfee;i="6500,9779,10561"; a="298967864" X-IronPort-AV: E=Sophos;i="5.96,246,1665471600"; d="scan'208";a="298967864" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Dec 2022 00:44:56 -0800 X-IronPort-AV: E=McAfee;i="6500,9779,10561"; a="651464804" X-IronPort-AV: E=Sophos;i="5.96,246,1665471600"; d="scan'208";a="651464804" Received: from mxu9-mobl1.ccr.corp.intel.com ([10.249.170.19]) by fmsmga007-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Dec 2022 00:44:54 -0800 From: "Min Xu" To: devel@edk2.groups.io Cc: Min M Xu , Erdem Aktas , Gerd Hoffmann , James Bottomley , Jiewen Yao , Tom Lendacky Subject: [PATCH V1 1/6] OvmfPkg/TdxMailboxLib: Delete global variables Date: Thu, 15 Dec 2022 16:44:35 +0800 Message-Id: <20221215084440.481-2-min.m.xu@intel.com> X-Mailer: git-send-email 2.29.2.windows.2 In-Reply-To: <20221215084440.481-1-min.m.xu@intel.com> References: <20221215084440.481-1-min.m.xu@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Min M Xu 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 Cc: Gerd Hoffmann Cc: James Bottomley Cc: Jiewen Yao Cc: Tom Lendacky Signed-off-by: Min Xu --- 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 #include #include -#include #include #include #include -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