From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id 8AA7DAC11D2 for ; Fri, 8 Dec 2023 08:12:11 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=rkxbj+AYRQQ1DEPdELnt2AefUnU/F28zkW2kS9ckQ1Q=; c=relaxed/simple; d=groups.io; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:From:To:CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References:In-Reply-To:Accept-Language:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Language:Content-Type:Content-Transfer-Encoding; s=20140610; t=1702023130; v=1; b=taJqoL7SIpaClCbr7f3C5u12Y05M8bZHYMMNitEfB+zVEn7F5iuPyHQh1EQANu9sCROGx3F2 ScOkM+b/MjF00adgbModQtNK1/5TcmH7yEOqPEbw5URG8F//l+E0g9hDnK5Geo557h90H6ZtIjj 66M4/HYqlOFe00faLrepzNQo= X-Received: by 127.0.0.2 with SMTP id xxIHYY7687511xQ9Lw7pYi9E; Fri, 08 Dec 2023 00:12:10 -0800 X-Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.9]) by mx.groups.io with SMTP id smtpd.web11.15707.1702023129227346294 for ; Fri, 08 Dec 2023 00:12:09 -0800 X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="1254310" X-IronPort-AV: E=Sophos;i="6.04,260,1695711600"; d="scan'208";a="1254310" X-Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmvoesa103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Dec 2023 00:10:34 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="775722035" X-IronPort-AV: E=Sophos;i="6.04,260,1695711600"; d="scan'208";a="775722035" X-Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by fmsmga007.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 08 Dec 2023 00:10:34 -0800 X-Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Fri, 8 Dec 2023 00:10:34 -0800 X-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.35; Fri, 8 Dec 2023 00:10:33 -0800 X-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.35 via Frontend Transport; Fri, 8 Dec 2023 00:10:32 -0800 X-Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.100) 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.35; Fri, 8 Dec 2023 00:10:32 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gI9sG3gPmtjrw6jm0NgyLBy5xGg97h3+h0yHFIa7wMl0o/tzqQvT5/d/3GFekWLW2lpUWkcE3WZi+hAnBG7+j2+ehNICWyRUN00AjBZ7V8MFPay8/XA44iXrWZjUWCmYBfoKTjuN/ygVqAmMbjBZ2u0KqRFDisQuoBJbFtcH2YD+utGllVtRYHjWqNguh6M6XjuAfhTD/a23mTr0X7gA9BniuHAMwhSfNOK6t7zC5hfekr/GQyq5I9y26fvNx6P9ofVnfu9zQ8tYzs7yz0rRMduUGft4RKtJfHOhSYo61R2pXmOq5D3g5jMwPDi5gaY7lJvuoNAiSLyC+X1VouMC0A== 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=+Q6umzCQq72i7bzoqSD022iUlcxUoBh5WFQnro4+HFA=; b=CEzYUrHJyBA7aWc7KaWVhank+l6yuKssazqACs4z8xXs1G/7gBR0TQ49nm7LWCYew6uJTRdRoDQd5/P/gS6ngHbdAvoA+I75uYKBO8RdhQ4Sc1aOoRHLUTvkhq78jg/1nT4MQyBJlSdNoiw5yg+mk09soS2i6PZRGJ/jVY7i1FMS1GXR7ZOveaawlFSN+exaqTg6jT2ov9H6z/qvQ+vMhOZLIf9unQCCGdrX0ixRBtcb0OuX79hvUG7IkRLP/flrFFOKXpfYi/Ly1FaLR3wZBtMcUMxOIOIBI3gaolqSecKU2sj2WBT2Yf623yMi26brcBWKevCVXVNm+NytgeBjGA== 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 X-Received: from MN6PR11MB8244.namprd11.prod.outlook.com (2603:10b6:208:470::14) by CO1PR11MB4883.namprd11.prod.outlook.com (2603:10b6:303:9b::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7068.28; Fri, 8 Dec 2023 08:10:30 +0000 X-Received: from MN6PR11MB8244.namprd11.prod.outlook.com ([fe80::b614:1f5e:8b0c:9858]) by MN6PR11MB8244.namprd11.prod.outlook.com ([fe80::b614:1f5e:8b0c:9858%4]) with mapi id 15.20.7068.027; Fri, 8 Dec 2023 08:10:30 +0000 From: "Ni, Ray" To: "Tan, Dun" , "devel@edk2.groups.io" CC: "Dong, Eric" , "Kumar, Rahul R" , Gerd Hoffmann Subject: Re: [edk2-devel] [Patch V2 5/6] UefiCpuPkg: Cache core type in MpInfo2 HOB Thread-Topic: [Patch V2 5/6] UefiCpuPkg: Cache core type in MpInfo2 HOB Thread-Index: AQHaKN+ayAJOdR3VUkewIYcOVVBYyrCfCghQ Date: Fri, 8 Dec 2023 08:10:30 +0000 Message-ID: References: <20231207073230.264-1-dun.tan@intel.com> <20231207073230.264-5-dun.tan@intel.com> In-Reply-To: <20231207073230.264-5-dun.tan@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN6PR11MB8244:EE_|CO1PR11MB4883:EE_ x-ms-office365-filtering-correlation-id: 3bf15312-a67f-41d4-c7a0-08dbf7c524d6 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: OdZds/EddqCgzrM6ifJsdbBj72iWHLhqfz4YmrS5svSuCIxGdTblDp67JL620E7Ph3Xt6e74clYaCUBWZpaIZtMZ1i5yQvoPr9U9FiJGCAOI1qMIf60yzaRliFgK65LH7eaOa0dwlf4UvhcfiT5FRELAiCSblKNeCeRVi34hHfIVQFiCGmTo9tq+dLTencEk1dNlSb1nrf31ZuioiLcM73bNMLzuQHrFnKebvB+q/MWaZahFt2qhL1JWIy2877re9LBeBErGLWFKlQGamfgDLJu6k+pmxoPxspbv6BpNy2LsZqWQCxDLQBxbeEu/cP9VTBgsZMnFPbiELEU0Fb+WijjtDaBlb4aiV8thcjRbsK2rB+1jD2OIDJ8FZ2IFGVLPSXvtfq8GF3i/hp+gIHfzSn/ob8LD/CSGJXmSGixbLbuHuzbJdX6MJVDva9+QcnrRJHmpWDhC9/SumGRHcRhwyXGrRd7nFGzCjsLDZIm7ox4BBUzaBQyyXd0j/FhuwuS3dSOgYvMPyno6MGUyaxR2f5g5LLvx1qFW9hjrmSkNMtyo8FvHC2xj6RYRhC1fWoywre/pEypAjjlG2wzBHP8Xc60/ZZk+XfxYpAkox0kwwohUEi2QHG3vPaIF0jZoSFIw x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?6mIem8wyxd8LRR0iW7fQfYdOkUHdxr3KS/jgoMSn7xJ6oyr/fa3kDjdiyVY0?= =?us-ascii?Q?W0/C3laD541PcXUWuizeMTdRkIWHzp/3xVlWGcWT73u2UHe84tojIgNbAC2r?= =?us-ascii?Q?WlXA/ArIIhZ0qmuGwQ9F2uFzO+9cprjVP5TTNxxqTW4jF4t2otldQluthEJk?= =?us-ascii?Q?wSiWsayZVWFg/5kqa1iaGqHOuuNQRvTfKbir9T63gMY6FaAd2/+iUuP13Jpi?= =?us-ascii?Q?7jpu91YBnbQiwSSaz9Grb8dH/3ny3ZVn49afgckat0Do/ql8eHKJ5IZtUeTO?= =?us-ascii?Q?7pGuQBu143OgDwaRUEn/eyqcftcLpZ9rPZcSc83InAav0suuuKSjOexLqpu4?= =?us-ascii?Q?3m/fMrCA3NvBlOOKokHGnDsXpQD7cPywdgsKOaIAuXzWcwVP/r8YftE+MOOE?= =?us-ascii?Q?4YJiRDpxIWsvTPuLHJII+ZeLYX73OrCJofNXbyEuwU9e8M/zmxbDLgtyw7GQ?= =?us-ascii?Q?QNX7yESDYG+hHpC5wJIVP6RtLwGWVaAZ+iAFjYl3n2Y+V3ec+VvwrY1MET74?= =?us-ascii?Q?xDpxFhhuk62ZbJPDb9Q7rSAHa8Kgo5r1rZz5x97PyciKTbt7K2eZ5ofcCJZQ?= =?us-ascii?Q?CQuo5Z+2NJPqOQOrCIC22aP3hBEFCqtcOz6VLkfQXa5HmiAxqMhFYIhT5txw?= =?us-ascii?Q?WB5Ulz7IHw3RL8FfQjJstbf52ZgmudotBt6cLWsP5CsUbrzntdiSde7a4BE+?= =?us-ascii?Q?S1+4lcSF4WAaTT9WHYrDhRc/948xKUHEqh/iRznKnJSZO1vFsx6fGxbvD+aV?= =?us-ascii?Q?q9Fl1uaA0zKwHSmFCd/5CcVGwOflshOrOpm4hMKuQPMZ/SYx2yBMyMQrfb/j?= =?us-ascii?Q?C3A5QYK6ifwjZVxReHASkoDkzB/Bmb6dzDmYu/Iy1msP48s+Q5eUGbP0M0WI?= =?us-ascii?Q?Hr5Y49AkAaScmYDzBGJUK1Auj0q9gujJOKJ3MwTYS4ob5/TuG4iIhTK5hO6i?= =?us-ascii?Q?WkCJ2jBxiI+PSvoiSSBViVh7l9RWVlzyRfyVJCl0sbXANsn6fZV6ypHv7D30?= =?us-ascii?Q?y3VCSFTjl2ZgC7FEMHKUUamNjAr241JSdYUk88iOmqOnJr8sJwdOqQ4ugS96?= =?us-ascii?Q?uiDf8//I9UFPNp09NtJFnEiqXpJ/j737t4ZpgWAvOM9d2NHar8MI+YPlCNKS?= =?us-ascii?Q?mxZ/QNhbSG2/dJOtu0wotio4b/x2JIlIuoSexARoCcsm6BgXWnZh8LimO8jO?= =?us-ascii?Q?D+k1YUjMnEInUU0+7uF+sN2HyXgikQQrjHYFI9NTte1PQoqeYPticVK+VByY?= =?us-ascii?Q?z5EVTeyWY4PfxkGXMIjHD9MTbxj/p62NnMgfv1OgPPmUD3GQSDl2u7SGb4z0?= =?us-ascii?Q?/6yxNko4iE0bns31rLfzJqgUs6wS2YsFHPIq/gqsoNSX0vbhEE7EeECjhCwt?= =?us-ascii?Q?N3tDDkzVsvEDVTVY4rhT+qGPYqNB4IeGHJHc+8WQ4Xp83jCP82q+SxRwGXot?= =?us-ascii?Q?LLk4CJ7At61wiCsAVbaCZL3zAg++4c+RRGzwaAZ7ewB1RBbb1IcxuojMi4lx?= =?us-ascii?Q?XO/7RJ4O4kXZ97wOm1xw8KuLFGGTwIw/E87b4BJtSSzxtAHLH/qiVm2Hy4w7?= =?us-ascii?Q?lyLNvydIifE0X8z/BoE=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN6PR11MB8244.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3bf15312-a67f-41d4-c7a0-08dbf7c524d6 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Dec 2023 08:10:30.1299 (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: 0RPXHqck2+8i+0hzZOZvLBAzPPmD1hBroOvaZAttoRcwqkqAKPL/DWL+j81EsWAn4FMXyRnC146GXrThKmFxLg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR11MB4883 X-OriginatorOrg: intel.com 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,ray.ni@intel.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: Xe60MCO14bGzEFscaXoL0XkFx7686176AA= Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=taJqoL7S; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=intel.com (policy=none); spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io Reviewed-by: Ray Ni Thanks, Ray > -----Original Message----- > From: Tan, Dun > Sent: Thursday, December 7, 2023 3:32 PM > To: devel@edk2.groups.io > Cc: Dong, Eric ; Ni, Ray ; Kumar, > Rahul R ; Gerd Hoffmann > Subject: [Patch V2 5/6] UefiCpuPkg: Cache core type in MpInfo2 HOB >=20 > Cache core type in MpInfo2 HOB by CpuMpPei module. >=20 > Signed-off-by: Dun Tan > Cc: Eric Dong > Cc: Ray Ni > Cc: Rahul Kumar > Cc: Gerd Hoffmann > --- > UefiCpuPkg/CpuMpPei/CpuMpPei.c | 59 > +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- > UefiCpuPkg/CpuMpPei/CpuMpPei.h | 2 ++ > 2 files changed, 59 insertions(+), 2 deletions(-) >=20 > diff --git a/UefiCpuPkg/CpuMpPei/CpuMpPei.c > b/UefiCpuPkg/CpuMpPei/CpuMpPei.c > index 8cacf4ddf5..7e2d7efb6b 100644 > --- a/UefiCpuPkg/CpuMpPei/CpuMpPei.c > +++ b/UefiCpuPkg/CpuMpPei/CpuMpPei.c > @@ -541,6 +541,30 @@ InitializeMpExceptionStackSwitchHandlers ( > FreePages (SwitchStackData, EFI_SIZE_TO_PAGES (NumberOfProcessors * > sizeof (EXCEPTION_STACK_SWITCH_CONTEXT))); > } >=20 > +/** > + Get CPU core type. > + > + @param[in, out] Buffer Argument of the procedure. > +**/ > +VOID > +EFIAPI > +GetProcessorCoreType ( > + IN OUT VOID *Buffer > + ) > +{ > + EFI_STATUS Status; > + UINT8 *CoreTypes; > + CPUID_NATIVE_MODEL_ID_AND_CORE_TYPE_EAX > NativeModelIdAndCoreTypeEax; > + UINTN ProcessorIndex; > + > + Status =3D MpInitLibWhoAmI (&ProcessorIndex); > + ASSERT_EFI_ERROR (Status); > + > + CoreTypes =3D (UINT8 *)Buffer; > + AsmCpuidEx (CPUID_HYBRID_INFORMATION, > CPUID_HYBRID_INFORMATION_MAIN_LEAF, > &NativeModelIdAndCoreTypeEax.Uint32, NULL, NULL, NULL); > + CoreTypes[ProcessorIndex] =3D > (UINT8)NativeModelIdAndCoreTypeEax.Bits.CoreType; > +} > + > /** > Create gMpInformationHobGuid2. > **/ > @@ -558,13 +582,36 @@ BuildMpInformationHob ( > MP_INFORMATION2_HOB_DATA *MpInformation2HobData; > MP_INFORMATION2_ENTRY *MpInformation2Entry; > UINTN Index; > + UINT8 *CoreTypes; > + UINT32 CpuidMaxInput; > + UINTN CoreTypePages; >=20 > ProcessorIndex =3D 0; > MpInformation2HobData =3D NULL; > MpInformation2Entry =3D NULL; > + CoreTypes =3D NULL; > + CoreTypePages =3D 0; >=20 > Status =3D MpInitLibGetNumberOfProcessors (&NumberOfProcessors, > &NumberOfEnabledProcessors); > ASSERT_EFI_ERROR (Status); > + > + // > + // Get Processors CoreType > + // > + AsmCpuid (CPUID_SIGNATURE, &CpuidMaxInput, NULL, NULL, NULL); > + if (CpuidMaxInput >=3D CPUID_HYBRID_INFORMATION) { > + CoreTypePages =3D EFI_SIZE_TO_PAGES (sizeof (UINT8) * > NumberOfProcessors); > + CoreTypes =3D AllocatePages (CoreTypePages); > + ASSERT (CoreTypes !=3D NULL); > + > + Status =3D MpInitLibStartupAllCPUs ( > + GetProcessorCoreType, > + 0, > + (VOID *)CoreTypes > + ); > + ASSERT_EFI_ERROR (Status); > + } > + > MaxProcessorsPerHob =3D ((MAX_UINT16 & ~7) - sizeof > (EFI_HOB_GUID_TYPE) - sizeof (MP_INFORMATION2_HOB_DATA)) / sizeof > (MP_INFORMATION2_ENTRY); > NumberOfProcessorsInHob =3D MaxProcessorsPerHob; >=20 > @@ -597,12 +644,16 @@ BuildMpInformationHob ( > NULL > ); > ASSERT_EFI_ERROR (Status); > + > + MpInformation2Entry->CoreType =3D (CoreTypes !=3D NULL) ? > CoreTypes[Index + ProcessorIndex] : 0; > + > DEBUG (( > DEBUG_INFO, > - " Processor[%04d]: ProcessorId =3D 0x%lx, StatusFlag =3D 0x%x\n= ", > + " Processor[%04d]: ProcessorId =3D 0x%lx, StatusFlag =3D 0x%x, > CoreType =3D 0x%x\n", > Index + ProcessorIndex, > MpInformation2Entry->ProcessorInfo.ProcessorId, > - MpInformation2Entry->ProcessorInfo.StatusFlag > + MpInformation2Entry->ProcessorInfo.StatusFlag, > + MpInformation2Entry->CoreType > )); > DEBUG (( > DEBUG_INFO, > @@ -625,6 +676,10 @@ BuildMpInformationHob ( >=20 > ProcessorIndex +=3D NumberOfProcessorsInHob; > } > + > + if (CoreTypes !=3D NULL) { > + FreePages (CoreTypes, CoreTypePages); > + } > } >=20 > /** > diff --git a/UefiCpuPkg/CpuMpPei/CpuMpPei.h > b/UefiCpuPkg/CpuMpPei/CpuMpPei.h > index a40fd2c077..e7d07ffd64 100644 > --- a/UefiCpuPkg/CpuMpPei/CpuMpPei.h > +++ b/UefiCpuPkg/CpuMpPei/CpuMpPei.h > @@ -32,6 +32,8 @@ >=20 > #include >=20 > +#include > + > extern EFI_PEI_PPI_DESCRIPTOR mPeiCpuMpPpiDesc; >=20 > /** > -- > 2.31.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 (#112217): https://edk2.groups.io/g/devel/message/112217 Mute This Topic: https://groups.io/mt/103030295/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/leave/12367111/7686176/19134562= 12/xyzzy [rebecca@openfw.io] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-