From nobody Thu May 16 00:01:06 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+110028+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+110028+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1698228462; cv=none; d=zohomail.com; s=zohoarc; b=FGVwBkDOuYUi8mMzYaDeO/BvY1/P0dkRmHw1dFZd4JUHMQngsicZS8ptiMx8YKzBDcFV33Rzjxac+BxR+wc2/OwQ5S4vyxjRIeE3bC9rt5kZ5FwdI7clS9UIi5mO6h+604YEn3ej07pxiCQW2MauMn3KUdfciiZtljHApvaqqMg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1698228462; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:Sender:Subject:Subject:To:To:Message-Id; bh=HT1GkkRoEBpsTAMCGCybomkIXYHke3XOlRjShHWCoV8=; b=e3DOTOgBfEyfFF3lq3+PgXB5cPCe6UG9sjJrq2+K0DP9/+a0FPAvAkr25SoS+NcX00Pm2rseavUNgAe57aJ8W9PM/JPjBShfCRvHXRtEk+IR1ft1YcM4yc7vU53pxHPk3uvZ5iOge/8WBVeEI5r+X9SpSkmHAPKY7mCkx1UeCoU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+110028+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1698228462977168.92037042465847; Wed, 25 Oct 2023 03:07:42 -0700 (PDT) Return-Path: DKIM-Signature: a=rsa-sha256; bh=6medCykSM6LyWxzEvLgdo23pjG86HkSmQ3nplwcxR1Y=; c=relaxed/simple; d=groups.io; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Transfer-Encoding; s=20140610; t=1698228462; v=1; b=uYIYs4u3p14Y1wOcRN+QgmgCbee85/QPoufpeYzMq7ksi6dfiV2AYZlGMgxPHvn+5NcWFhZV wvGwqqslGBszPJgWkyX9XMMghYX+3iTUOUslZeSQukKc7CJi2eOY9D2VBVRtg5wPwRC4S8WTpLd bFHIcXzSSkBBKL5OdSgA6mb0= X-Received: by 127.0.0.2 with SMTP id awNnYY1788612x1su3VKY3dm; Wed, 25 Oct 2023 03:07:42 -0700 X-Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.24]) by mx.groups.io with SMTP id smtpd.web11.40108.1698228460223180612 for ; Wed, 25 Oct 2023 03:07:42 -0700 X-IronPort-AV: E=McAfee;i="6600,9927,10873"; a="390130858" X-IronPort-AV: E=Sophos;i="6.03,250,1694761200"; d="scan'208";a="390130858" X-Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Oct 2023 03:07:37 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10873"; a="1090162767" X-IronPort-AV: E=Sophos;i="6.03,250,1694761200"; d="scan'208";a="1090162767" X-Received: from shwdeopenlab705.ccr.corp.intel.com ([10.239.55.100]) by fmsmga005-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Oct 2023 03:07:33 -0700 From: "Yuanhao Xie" To: devel@edk2.groups.io Cc: Ray Ni , Eric Dong , Rahul Kumar , Tom Lendacky , Yuanhao Xie Subject: [edk2-devel] [PATCH] UefiCpuPkg: Remove ASSERT checking if FinishedCount equal to CpuCount-1 Date: Wed, 25 Oct 2023 18:07:19 +0800 Message-Id: <20231025100719.2640-1-yuanhao.xie@intel.com> MIME-Version: 1.0 Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,yuanhao.xie@intel.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: ZtFv2ZhDR3E2p8F09ZmouFWPx1787277AA= Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1698228463264100001 Content-Type: text/plain; charset="utf-8" The purpose is to fix an assertion with applying the following patch series: UefiCpuPkg: Refactor the logic for placing APs in HltLoop. UefiCpuPkg: Refactor the logic for placing APs in Mwait/Runloop. UefiCpuPkg: Create MpHandOff. UefiCpuPkg: ApWakeupFunction directly use CpuMpData. UefiCpuPkg: Eliminate the second INIT-SIPI-SIPI sequence. UefiCpuPkg: Decouple the SEV-ES functionality. The assertion arises from a timing discrepancy between BSP completing its startup signal check and the APs incrementing the FinishedCount. Instead of assertion, use while loop to waits until all the APs have incremented the FinishedCount. Cc: Ray Ni Cc: Eric Dong Cc: Rahul Kumar Cc: Tom Lendacky Signed-off-by: Yuanhao Xie --- UefiCpuPkg/Library/MpInitLib/MpLib.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/UefiCpuPkg/Library/MpInitLib/MpLib.c b/UefiCpuPkg/Library/MpIn= itLib/MpLib.c index 6f1456cfe1..9a6ec5db5c 100644 --- a/UefiCpuPkg/Library/MpInitLib/MpLib.c +++ b/UefiCpuPkg/Library/MpInitLib/MpLib.c @@ -913,8 +913,8 @@ DxeApEntryPoint ( UINTN ProcessorNumber; =20 GetProcessorNumber (CpuMpData, &ProcessorNumber); - InterlockedIncrement ((UINT32 *)&CpuMpData->FinishedCount); RestoreVolatileRegisters (&CpuMpData->CpuData[0].VolatileRegisters, FALS= E); + InterlockedIncrement ((UINT32 *)&CpuMpData->FinishedCount); PlaceAPInMwaitLoopOrRunLoop ( CpuMpData->ApLoopMode, CpuMpData->CpuData[ProcessorNumber].StartupApSignal, @@ -2201,7 +2201,12 @@ MpInitLibInitialize ( // looping process there. // SwitchApContext (MpHandOff); - ASSERT (CpuMpData->FinishedCount =3D=3D (CpuMpData->CpuCount - 1)); + // + // Wait for all APs finished initialization + // + while (CpuMpData->FinishedCount < (CpuMpData->CpuCount - 1)) { + CpuPause (); + } =20 // // Set Apstate as Idle, otherwise Aps cannot be waken-up again. --=20 2.36.1.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#110028): https://edk2.groups.io/g/devel/message/110028 Mute This Topic: https://groups.io/mt/102174874/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-