From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mx.groups.io with SMTP id smtpd.web11.14701.1677234753781214284 for ; Fri, 24 Feb 2023 02:32:34 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=hkTB0KSp; spf=pass (domain: intel.com, ip: 134.134.136.100, mailfrom: yuanhao.xie@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1677234753; x=1708770753; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=WSLE+ZHeVYsEJcwoXA5LSGMHEZyG3l2P2dl9cbkE/bE=; b=hkTB0KSp6IAj8W3wBhEkgdL4VmU7/kIo+Ud3ZAAVtK4cGe7+n3GPwpwX T3cA4NYMrES806bHL76+en8ANVYspmKjtTou+Q6wS/w2RyvvptbvsgUxA VXx/CPXoG/FFWQlLDbBqPcwN0ZY93iR0yC2t4BnLfRQRhVH5v6Ify7oUT 29RsQ+h372qaTOkRxZcxFp7CG7JtrcoFmXLsx8cbAYyqHrUjId7JEvaLS DskoXuWQlqBdXzi9HOWzskiupkZNmgIkZOyq6t9SMlDWWZs+15sFmpWmj j9XMEjkg/PZSNpH9ojZXWE5AubdtrahhQ3Nv1975qq2NybGn8wVvTcoPk w==; X-IronPort-AV: E=McAfee;i="6500,9779,10630"; a="398180343" X-IronPort-AV: E=Sophos;i="5.97,324,1669104000"; d="scan'208";a="398180343" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Feb 2023 02:32:32 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10630"; a="815701734" X-IronPort-AV: E=Sophos;i="5.97,324,1669104000"; d="scan'208";a="815701734" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by fmsmga001.fm.intel.com with ESMTP; 24 Feb 2023 02:32:31 -0800 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Fri, 24 Feb 2023 02:32:31 -0800 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Fri, 24 Feb 2023 02:32:30 -0800 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16 via Frontend Transport; Fri, 24 Feb 2023 02:32:30 -0800 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.173) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.16; Fri, 24 Feb 2023 02:32:30 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Zli4qkq0GbMbwYli/i4UAn2pHULZV9JA8N/S8R0bjnDoYTKYuuyFOeZvfAD21QUkSYMfD7dC5kOEjk/CXUWKBn9KMZrQfWkYMob6EB32+DOscNX7f1ddYEC5oqY98ZYuVo2rnQBnuqUo3HVRv9GmhPVAENP2rlVxpui/rDGBsQqUbOMR8PIBSokP/80VVDwLQosAdl72gX3Q5nQKn2BRkz4ylBKf9crkg45HACa0wCQ35feNyYHbrVqjHjJ8K38Ougt6RhHl7lcLVxALmFB7FMQ8X5gk73h+Gw2fhjm/BgX1pnOIQNMbAsQQitcwwm4/Bu3IHVQUva6SO3hryO2ldg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=CtL6xpgv7/N/CzgjYC621su2tzirVQnxCZ5EX2edu6g=; b=E39jZA+m3zZTc8fdpRVv08ynZdJkWE2VES2RGnaghahfcyS6XN30GHnRCLkRfWa1rSYlKfg13l+z+bUmgflpnA4dKjwfUkgBKU3llMQG6ox6A6q9o2BzWhOyj+AMJXVA+JwfNPnqAmkqV6jhtMP+AqPuTq+oMrOWMjR8/+o3hVG5k2B7CtogMhC4QdHSPtEqwo4n92kcRQN2tmRTufwg9A/AMlTkYRgaiBjNs41StA9qFDiVg6s13WtfLi0AnzapAxxSgNiNf+RGNgpP9GsLXFwve8y2ZpdHedzr2oqgDQSxPUWa1xpj5oFzDe7HyiJgsqsyfY2xC7okv3hSVRK6/Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from CO1PR11MB5026.namprd11.prod.outlook.com (2603:10b6:303:9c::13) by SA2PR11MB4779.namprd11.prod.outlook.com (2603:10b6:806:11a::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.24; Fri, 24 Feb 2023 10:32:27 +0000 Received: from CO1PR11MB5026.namprd11.prod.outlook.com ([fe80::e553:b7e9:12d3:1692]) by CO1PR11MB5026.namprd11.prod.outlook.com ([fe80::e553:b7e9:12d3:1692%6]) with mapi id 15.20.6134.024; Fri, 24 Feb 2023 10:32:27 +0000 From: "Yuanhao Xie" To: Gerd Hoffmann , "devel@edk2.groups.io" CC: "Dong, Guo" , "Ni, Ray" , "Rhodes, Sean" , "Lu, James" , "Guo, Gua" Subject: Re: [edk2-devel] [Patch V3 2/6] UefiCpuPkg: Duplicate AsmRelocateApLoopAmd. Thread-Topic: [edk2-devel] [Patch V3 2/6] UefiCpuPkg: Duplicate AsmRelocateApLoopAmd. Thread-Index: AQHZSCLxlnVh7i0SF0632iusotOlhK7d5h/A Date: Fri, 24 Feb 2023 10:32:26 +0000 Message-ID: References: <20230223180535.10383-1-yuanhao.xie@intel.com> <20230223180535.10383-3-yuanhao.xie@intel.com> <20230224073811.bym6ktw4sxaayktm@sirius.home.kraxel.org> In-Reply-To: <20230224073811.bym6ktw4sxaayktm@sirius.home.kraxel.org> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CO1PR11MB5026:EE_|SA2PR11MB4779:EE_ x-ms-office365-filtering-correlation-id: 903b0abf-dd95-44fa-915c-08db16526c85 x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: sv/nfr7ccCKVsFWR14DRpfM1WnAZn4JkjndeBzOkV/zGk3KWQugWZIGvzXq7yo/X4VKvVFxBphoLyKAUpNAFNQdhTS/691L+btNeVavxsECGnqk505MRSqDHPfoFoAliQ6i47iA+8QSOcy46XwPlSJJ3q4WPlxMfRIau20iYG4NTY6QudaZxv2UByLIC5mBgCdx/RydfhLdon2n8dRa0lfgDeFOPHAYBsMH6BFxvNcvnj7vWuRNZBrhk5ZS7/M1SJiBOFqmTX++WjK3p0EZAvwa50aT62ZnEtVk342hzqKtTj6w13ejUgETSDVCGRg6uaosNs6vyFNsVUKAO6YdpA7MeYyxoVg5EagrW6HcFvD3bSu0doqWyDAbu1Z/9q0xyQizMzAQx+LVv5LI9GMW6lJAcw56br4xgZe7HejASvcCX9LZcTpZaKBmjnp+wBwnu8BMj/I6qvh7yQKPwz+lY8R1YK6XHfNpFHuPo/nna5ZmXC27G9Fw6mveAugMNYDWLQtUD0JlACcm7GFAde0uTGQt30cD7T50jyLdooXbBpe1Z3w9kJCU2ukfQtHTmpVTY3wQhJ7EBewY6+ilqEjwS6LCs+8REnzH6K24D9Ou1nXGMQ8xzKf3/nDp7YQJbRs40iAU1W5vOjH+UZpp5kdUSE6u8b/spMbZvnZbfl+McAr3fgLqm4lYNxptj2QiA/T9dZMnGLoEdFJ0HFqQbTBV0mQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR11MB5026.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(6029001)(136003)(396003)(346002)(39860400002)(366004)(376002)(451199018)(71200400001)(53546011)(6506007)(38070700005)(82960400001)(38100700002)(107886003)(122000001)(7696005)(33656002)(55016003)(86362001)(19627235002)(478600001)(41300700001)(52536014)(110136005)(8936002)(5660300002)(186003)(54906003)(26005)(8676002)(64756008)(66556008)(66476007)(66446008)(9686003)(4326008)(316002)(66946007)(83380400001)(2906002)(76116006);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?S0ED5r0fu4WVA73G3KgtHv4GLXsBRGVrcmFZcx0QddJUZwhhAJXeVDk3VHs/?= =?us-ascii?Q?RGEqmoAYsaKRHVHxtVSGDIdoHVIYutNJ/lyUQm9ODr+G7/nd4juj3nFZ1knL?= =?us-ascii?Q?TSYx8Tbtl1VW2Tv2TNU85bDY51Vrh+5XChAmJQRAf8k/IqC37Uvpk8dymRTV?= =?us-ascii?Q?XHHgft8Qn3vXGeFHzAV+XGxxDm+FLp1jHyo+U2TEs5sXK5B/P2Aa3NQCRBXU?= =?us-ascii?Q?MgNuQJBzkLbYH9NJ87oN7+83EFkx1yI5TUY+hCvfeHHbgLCaV+Wh/BYj6NTr?= =?us-ascii?Q?ZwrVRsgljZp8qvsKco9hKVcbs1Zk4/fXizetklHR3L/IYp9f5bnRWPL6YGOp?= =?us-ascii?Q?FT6Vr+yBxY+5pVdkEpYy72pyDz9EYn0TQ9DDMFeKldsrICaRz+DIEF6K8bZe?= =?us-ascii?Q?K5wmxhJNiVtAJC4VJjms+XRlccQ5ECnw5z7ae8ZbxQ7z/jTg4btq+U3trOL4?= =?us-ascii?Q?9KyUVDO7X6MxziTvfYKYobNqyieBUurFdMsWy3mdtJznIEyU1ibpKPUBPl8Y?= =?us-ascii?Q?Y2lOrIxD+v7srnaOI5B6dHI9SBeQ+nZdWHk/xC59kF+43Qq9lMwdxnh9IIjx?= =?us-ascii?Q?QMclFAYtGftevGH7RghHyMheNRPCEPavelaBnh5lJmv/TYPtZEDznixsEhnh?= =?us-ascii?Q?PKorTzqjS7r/XCDBxQM1s8IOD6YE1F9vTjr2e+J1wL6GfPG3/8CuW7iY7evP?= =?us-ascii?Q?j5fFtehVSooyMmrtF8hLhrlQdm8wwNNyl0dlCsn3awPiTWrzINiMPXSJnMo4?= =?us-ascii?Q?s8flvWs7UJncB67UBP/85SkKwZA0xRzCCbeqgukIOLvps4j4WDRN7+KGLx57?= =?us-ascii?Q?xp2ZC4yImvk44slLXH0/4JQLiSaLhJGKpAoOnS1dAxImCTyr7FICTONjHA0P?= =?us-ascii?Q?J/oks5Z0c0Iax3+yHbxNbqY5JR9Ry1CvUPY/Pw9mSJolugYZ098LLi2csibq?= =?us-ascii?Q?f1oZZPIWA43MFCgc7dOw4FiWb4lkX/1tTiq62QDtlVtBQQBaq//7RIVsg24w?= =?us-ascii?Q?xb8wGrqH3H6VaCsCXpjen1sfV0AErSkK7QTuAUN8HyPnY6yWbRaF01yZxJW5?= =?us-ascii?Q?6uajo67q64xKsLFVJBSeCrf7XQfVOA53l5hv4De35LGIIeRvUh47ymjVMDO4?= =?us-ascii?Q?EwnoicmSyi2+KQu/xOx3JzUycKwK5yAm13hFsagvJAT+QjRr/sbgd+KuYYTd?= =?us-ascii?Q?66XLkw4tWuywZl1qXS1bKpgvvqBJQitlS3WeORTAg9daNuEK3UovQ29+zYbV?= =?us-ascii?Q?/dycxH49CQthnebMwcDNac9XCeYs4rNHVfIDUKv1ZL12ndXSYzl5SgVCFif2?= =?us-ascii?Q?eLrNXVu+xbrgmNoxjF9qXdAu3zw4HibiwFskfSNQCEd3asdolk8G/fOhY+ai?= =?us-ascii?Q?s07l4IHX3qXhXmHHxAkQK56YhTkAobCMR1q0IVzF9WjBdwkFWHJI6iQoIYad?= =?us-ascii?Q?ZDhYDc+Bv9QmIf2BA89yBJDSLe+OPjUa5GFos0dK/aPVlJNwFAg9XcZLiCtS?= =?us-ascii?Q?nYna56h4ZUpH3Rm2QEEYU4OVHyp9ZUfRxx2SMjy93ECr+J/4QxDJHfu5mNYN?= =?us-ascii?Q?gkATDdyctvBtzn4/AuJeZTuPyS60xt7jCtpdF0QO?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB5026.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 903b0abf-dd95-44fa-915c-08db16526c85 X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Feb 2023 10:32:26.6410 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: f5pv5RaJYhP473f7KpknRl9EsKAGjIBQXhGjwIyRlcJFzSS1IhfhbQ3prLlEIlUpe6PhGkIejG9sUrF7Bc5yrA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR11MB4779 Return-Path: yuanhao.xie@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi Gerd, -Now you are adding back the AmdSev version. -It should be the generic version though. Duplication is as I want to build up the desired functionality in small ste= ps, generic version is updated in patch3 and ready in patch 6. Call AsmRelocateApLoopStartAmdSev brings more confusion. Thanks Regards, Yuanhao -----Original Message----- From: Gerd Hoffmann =20 Sent: Friday, February 24, 2023 3:38 PM To: devel@edk2.groups.io; Xie, Yuanhao Cc: Dong, Guo ; Ni, Ray ; Rhodes, Sea= n ; Lu, James ; Guo, Gua Subject: Re: [edk2-devel] [Patch V3 2/6] UefiCpuPkg: Duplicate AsmRelocateA= pLoopAmd. On Fri, Feb 24, 2023 at 02:05:31AM +0800, Yuanhao Xie wrote: > Duplicate AsmRelocateApLoopAmd for non-SEV-ES enabled processors. >=20 > Cc: Guo Dong > Cc: Ray Ni > Cc: Sean Rhodes > Cc: James Lu > Cc: Gua Guo > Signed-off-by: Yuanhao Xie > Test-by: Yuanhao Xie > --- > UefiCpuPkg/Library/MpInitLib/DxeMpLib.c | 68 ++++++++++++++++++++= ++++++++++++++++++++++++------------------------ > UefiCpuPkg/Library/MpInitLib/MpEqu.inc | 22 ++++++++++++--------= -- > UefiCpuPkg/Library/MpInitLib/MpLib.h | 31 ++++++++++++++++++++= +++++++++-- > UefiCpuPkg/Library/MpInitLib/X64/AmdSev.nasm | 33=20 > +++++++++++++++++---------------- =20 > UefiCpuPkg/Library/MpInitLib/X64/MpFuncs.nasm | 171=20 > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > +++++++++++++++++++++++++++++++ > 5 files changed, 273 insertions(+), 52 deletions(-) >=20 > diff --git a/UefiCpuPkg/Library/MpInitLib/DxeMpLib.c=20 > b/UefiCpuPkg/Library/MpInitLib/DxeMpLib.c > index a84e9e33ba..dd935a79d3 100644 > --- a/UefiCpuPkg/Library/MpInitLib/DxeMpLib.c > +++ b/UefiCpuPkg/Library/MpInitLib/DxeMpLib.c > @@ -1,7 +1,7 @@ > /** @file > MP initialize support functions for DXE phase. > =20 > - Copyright (c) 2016 - 2020, Intel Corporation. All rights=20 > reserved.
> + Copyright (c) 2016 - 2023, Intel Corporation. All rights=20 > + reserved.
> SPDX-License-Identifier: BSD-2-Clause-Patent > =20 > **/ > @@ -378,32 +378,44 @@ RelocateApLoop ( > IN OUT VOID *Buffer > ) > { > - CPU_MP_DATA *CpuMpData; > - BOOLEAN MwaitSupport; > - ASM_RELOCATE_AP_LOOP AsmRelocateApLoopFunc; > - UINTN ProcessorNumber; > - UINTN StackStart; > + CPU_MP_DATA *CpuMpData; > + BOOLEAN MwaitSupport; > + ASM_RELOCATE_AP_LOOP AsmRelocateApLoopFunc; > + ASM_RELOCATE_AP_LOOP_AMDSEV AsmRelocateApLoopFuncAmdSev; > + UINTN ProcessorNumber; > + UINTN StackStart; > =20 > MpInitLibWhoAmI (&ProcessorNumber); > CpuMpData =3D GetCpuMpData (); > MwaitSupport =3D IsMwaitSupport (); > if (CpuMpData->UseSevEsAPMethod) { > - StackStart =3D CpuMpData->SevEsAPResetStackStart; > + StackStart =3D CpuMpData->SevEsAPResetStackStart; > + AsmRelocateApLoopFuncAmdSev =3D=20 > + (ASM_RELOCATE_AP_LOOP)(UINTN)mReservedApLoopFunc; mReservedApLoopFuncAmdSev ? > diff --git a/UefiCpuPkg/Library/MpInitLib/X64/AmdSev.nasm=20 > b/UefiCpuPkg/Library/MpInitLib/X64/AmdSev.nasm > index c1e8a045a4..6b48913306 100644 > --- a/UefiCpuPkg/Library/MpInitLib/X64/AmdSev.nasm > +++ b/UefiCpuPkg/Library/MpInitLib/X64/AmdSev.nasm > @@ -347,12 +347,13 @@ PM16Mode: > =20 > SwitchToRealProcEnd: > =20 > ;--------------------------------------------------------------------- > ---------------- -; AsmRelocateApLoop (MwaitSupport, ApTargetCState,=20 > PmCodeSegment, TopOfApStack, CountTofinish, Pm16CodeSegment,=20 > SevEsAPJumpTable, WakeupBuffer); > +; AsmRelocateApLoopAmdSev (MwaitSupport, ApTargetCState,=20 > +PmCodeSegment, TopOfApStack, CountTofinish, Pm16CodeSegment,=20 > +SevEsAPJumpTable, WakeupBuffer); > =20 > ;--------------------------------------------------------------------- > ---------------- > -AsmRelocateApLoopStart: > + > +AsmRelocateApLoopStartAmdSev: I'd suggest to do the rename in patch #1 too. > +;-------------------------------------------------------------------- > +----------------- ; AsmRelocateApLoop (MwaitSupport, ApTargetCState,=20 > +PmCodeSegment, TopOfApStack, CountTofinish, Pm16CodeSegment,=20 > +SevEsAPJumpTable, WakeupBuffer); > +;-------------------------------------------------------------------- > +----------------- > +AsmRelocateApLoopStart: > +BITS 64 > + cmp qword [rsp + 56], 0 ; SevEsAPJumpTable > + je NoSevEs Now you are adding back the AmdSev version. It should be the generic version though. If you want add the generic version later in the in the patch series (when = changing the function prototype to drop sev support and add paging support) you can temporary call AsmRelocateApLoopStartAmdSev in the generic= code path too. take care, Gerd