From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (NAM11-BN8-obe.outbound.protection.outlook.com [40.107.236.124]) by mx.groups.io with SMTP id smtpd.web08.1758.1648285947040226083 for ; Sat, 26 Mar 2022 02:12:27 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="body hash did not verify" header.i=@os.amperecomputing.com header.s=selector2 header.b=ntnv+xE6; spf=pass (domain: os.amperecomputing.com, ip: 40.107.236.124, mailfrom: nhi@os.amperecomputing.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UWsx7DiS08bP18QI47r35nlTSt4XApssw54acm6XaNbusRxZwUmJQEdKZ7qF8SG6tja9SncWidlg6gr1+k18VqcV9PHQWIl6cDP6/IkhiZVlxKTczzKSXilez+9iDCscG4WM0WNH86Kmx3GQgT04uwZFzDz4HOKn/MuCQ04mA9g/RxI6DEEILY9onB/2htBBEuybb3cBTOvKNpafD+P3+dTHTf8v+OLquVHJ00rTgxIaNDddeCtzcKAZT5+MxwnmbAgxgBW3+jcUkYZUGMUS4O9HrWuyvJ1YH8G5F9D3+ZHk0kHO7NzyUfCFpQzhAvfsAgbFnXbJT1/frPDjmnu2hA== 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=jePgWJQiY7idrkdWMUK4vwZi+HEvQD/8CLRZ0bf+x/g=; b=I7yav2KzlEx+9qvTCUZHHSF8mvrOOZ2CiUWolbuFRyMsUkwbmIkkE5DEzP7OV/wjBMKZydxnnDxzWiVwOUiU8vu8pt0vpGLkrOTAF29aRB4OpQ8U5a2i9gZcXvTYyA6RQ96Gh5t6cVtOYs/J/zdBoGZTYJpXxe+lW2ftLH7vqZBOmgwaYVZfTXdsmSeym7wITbddshaoSHcCDZ8FutSVpQwvddlX3PG6QXxZaSIYJLnJhdB9b1Yo4wcCKYwCXgsgJdagx+gKTelupwISGFwcZxVfQvyGeGWZ7Nf8Ayxyu+Z50zUOnyApBACwMV7FlKwY0W6c4CQIaz2JXgF8He6qpg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=os.amperecomputing.com; dmarc=pass action=none header.from=os.amperecomputing.com; dkim=pass header.d=os.amperecomputing.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=os.amperecomputing.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=jePgWJQiY7idrkdWMUK4vwZi+HEvQD/8CLRZ0bf+x/g=; b=ntnv+xE6PHwmhbIP5OFlEiGq4qkbhOazKofhSdr1NxQ5CCTA5XhSE/bN+S0vXGb8GKYgtNET0Q/5UqkZATOcDw4+b2TO7YAl2xv39q7GzlW9m/PAf5ixk+MVGif2ztNgUbafc685NSDbC20sn77iHJbCj0OvOP78ivfOQBBqFWw= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=os.amperecomputing.com; Received: from PH0PR01MB7287.prod.exchangelabs.com (2603:10b6:510:10a::21) by DM6PR01MB6090.prod.exchangelabs.com (2603:10b6:5:14d::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5102.19; Sat, 26 Mar 2022 09:12:23 +0000 Received: from PH0PR01MB7287.prod.exchangelabs.com ([fe80::94c:517c:70a8:8d98]) by PH0PR01MB7287.prod.exchangelabs.com ([fe80::94c:517c:70a8:8d98%8]) with mapi id 15.20.5102.021; Sat, 26 Mar 2022 09:12:22 +0000 Message-ID: Date: Sat, 26 Mar 2022 16:12:07 +0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Thunderbird/91.7.0 Subject: Re: [edk2-devel] [PATCH v2 14/17] Silicon/Ampere: Update ArmPlatformLib to work with changed ARM_CORE_INFO To: Leif Lindholm , devel@edk2.groups.io CC: Rebecca Cran , Ard Biesheuvel , Samer El-Haj-Mahmoud , Leif Lindholm , Sami Mujawar , Wenyi Xie , Peng Xie , Ling Jia , Yiqi Shu , Vu Nguyen , Thang Nguyen , Chuong Tran , Pete Batard , Masami Hiramatsu , Graeme Gregory , Radoslaw Biernacki , Marcin Wojtas References: <20211216220800.9628-1-rebecca@nuviainc.com> <20211216220800.9628-15-rebecca@nuviainc.com> From: "Nhi Pham" In-Reply-To: X-ClientProxiedBy: SG3P274CA0006.SGPP274.PROD.OUTLOOK.COM (2603:1096:4:be::18) To PH0PR01MB7287.prod.exchangelabs.com (2603:10b6:510:10a::21) Return-Path: nhi@os.amperecomputing.com MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 5c85449f-d368-4949-18ac-08da0f08bc89 X-MS-TrafficTypeDiagnostic: DM6PR01MB6090:EE_ X-LD-Processed: 3bc2b170-fd94-476d-b0ce-4229bdc904a7,ExtAddr X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: COlKDWASH6zK5+27/DaxdE3FpxwLlQ+J4ZYHSZTb2V621bWMzH1P/cpKa4kZ/PZqFzYD0MBjDggbgsmCoWJmsmtaf6x9jhjOYtUk0CH7A8yS7qvGwjq0yNmENmP+tKOHQmJiqofijM2jJvslFYsmj/fWqPZoHlQYdWymlzvvlBe97wI1gly2ha9x2B4Xmzqi6maMrunZjxfyLyO2mI4+crtyPITdol+NtT7W9+wkOGkDrI8JGKCfKvsz7UI6ye/IqtFM1GaRhR3w/Mv3zucG5kriorEAfP13huEp/QUO1hOfNvUQ5Mt9xMa13m+eXvjTBfm0e5GqBNhkdRZrOXNYbnbT6Wxm4LlG3AXvXEfamnNGf+GjcsVQxbPWh+nd/SUeZLy6rsrv4O6Ua03md8gwximOWOtM7qQMkoPWAYNvdWjGJOITQJN9qiL7w7vrwFR/1Q9XPQveZVIYA/Z86e8QIfrKQIymEO2Uz+XcZhJ5YCd1+IECwJndQQjCwAfdl8yY1tAvlZX1rsoBFbmjfjHeagM1JohxErWmSwSvdr6pps9dwvo48/6PZ2vLm0hXRG5ERvTzYtnMCARSx8fgh0qwFIFEHF6PpsmlyuxXnQbr+sXSHZvjoFxvnfTmzBgGV7e0bKp20xasZrhSFMTsYmi7iSDEJD1TF5YLQsIGSaIwW5EmnwXsuvuAuTrxpnYKwxIo/aqty6tNR6Dh/SacmRfaSw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR01MB7287.prod.exchangelabs.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(6486002)(8936002)(83380400001)(2906002)(2616005)(86362001)(508600001)(4326008)(31686004)(66476007)(8676002)(66946007)(15650500001)(66556008)(6506007)(53546011)(6666004)(38100700002)(52116002)(7416002)(186003)(66574015)(6512007)(316002)(54906003)(5660300002)(31696002)(43740500002);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?cVA4aUZXcXN5RWZ6LzI3WUt6VlZIRnhRZDFSL0dFdWFoSDF5dnZ3VEZxQ0Ja?= =?utf-8?B?OWNDb1lTdXdFMHFtT3hXV2tYcE9sbzRPdU1hK0FnS0FMYkt6TVlTMkxrYzJj?= =?utf-8?B?T1d0Q1VFV1N5a1pPOHhFTUpRaVNTSGJ4OGczZGl2T1RxYnVIZ2l1SWhsSkVk?= =?utf-8?B?dUlBOTBwZzFIREx4OW43NEVmOHVrR1B4ZGxZZzVLYm9GQ3cwbWNUcml4d0pm?= =?utf-8?B?Z1JnTktPSm0wZzFVMExsemhMSHNxTU84TDNmV2FBQnlGdmZjZ1RCTjdQZzha?= =?utf-8?B?eFY2UHcrSkZGODJYelE4ZTFzVDZyT1VaQ2VDWGt0TTMvc1B3Ym4zTWdrM29C?= =?utf-8?B?OHYyK3lPWmQ3bTFPS0x3MlNwaUFJNDNkV0lTUVA0TndHbU4wbi9iQmxSamxz?= =?utf-8?B?ck1qMHNZWml0ZXVwSldLdGdXMUg4NkY2NkZWdm56TUlsQjM4K3pieGpEeGZF?= =?utf-8?B?czJodjR6d2tEVTVQUmczTHNsOGx5STZHWVJnUHIyYjEzNU9zeStQN0d1RmxX?= =?utf-8?B?T3p1dzZlL3NDWXVydkJMbjdXZkltbzd3TDFsNGg2Q0dKekpjSzAxdVZHTzg4?= =?utf-8?B?dXZnUzlOZTBmY3BTRzk2endHeDl1aXdOTUUyaUJGN0tuV3M2ZGJKdGZkWVNT?= =?utf-8?B?UExFK3BtQ0Vybk9IRngrNW5tK05rM0ppR2U5UUpyTE8yOEZMMGQwdFhsUFVh?= =?utf-8?B?V3dxSHp1NHZvclZqQ0RYcTNBSE8wd3hNWlV0VEl3Z21EUE9IQkordFRCR1lC?= =?utf-8?B?MWRaZ1N4cnQxNHVRRWNsRENCL3RZTWprU2d1L2xhZ1VmMk4vRVhzTGFlNnB3?= =?utf-8?B?a3RzSSsxMHdKcnF5ZUlMTXJONmpYYXBMZHkwNmk1Z3ZkUWRRbWJzUkFoZ3dr?= =?utf-8?B?ZjN3SFhIUzdJV2hJN01YNGlyTktQMUhmTWZnVVQ2Vmkyck8wZHpaV0FoWUlx?= =?utf-8?B?VkNqbWdGaVUrU1J5VTVXbGRXWG5aUVV6SUFZNTJ4djF6VDNaTDBBOGRmOWEy?= =?utf-8?B?SUNxeUk5S2drRU9leE5hSWxUeWZETHE4MDN1Y1dBQk1QMkg5SHRvUGliRU9E?= =?utf-8?B?cEhDa0p4dk9ZOFA1WkM3SE9RSFdVY1NqeHIrVTNOQUpMajh6YjFqOWRCSTVh?= =?utf-8?B?cmEvc0FmU3drbDdlbmRyVzNzZ3lGeGRJOEVNV3piMFZGV1NNUnV2OU1PVUhN?= =?utf-8?B?UnczVk00LzM1dDRiaURrUjNNR1dZY1FmMFRiM1oxRlVMdHlha0M1VFFscEpj?= =?utf-8?B?OWx2SVh1dnR0anJNZVFIMGFyOE1QWmxqUEFKeGRkdE1wWkZmbmtYNVBIU2ZN?= =?utf-8?B?S1UwZ0tvOFBpVk1rTCtvSVphZWxGNFVhWHdJdU5BZm1qZ21Nb0Rnd294TytE?= =?utf-8?B?a001UGVzOGdldGlzNmhlLzQwYnJLUyt1WFdMWUl6TWs0MjJidFJ3S3B0c25a?= =?utf-8?B?QitDMzJRbzkxelhHRkJONnQvQ3RuZ2tCT3VIeU1hRSttNldLTFRxMlZyN0Iy?= =?utf-8?B?L0U0KzJxZjU3cHhEZGsvelZyYVk2Qyt3MWc1cVZxakhEZ0VTRFVObFp1N2U5?= =?utf-8?B?ZjlzTVZoZFNiVVZlT25hanhGTmpkNlhwcngzSkZFTUFmWDVMdnI1TGdsMGIx?= =?utf-8?B?czVGc0kveXVERER6R01mbjJRcThhSUkyNnR3Wms2ZzU1clkwdHFPb212cVFY?= =?utf-8?B?OVhLQTJPb1JkTjUwbU5jOGNqaEhrYnhxSHByMTBXNy9vSzFYaTh1eXJuLzJV?= =?utf-8?B?VldNWGFVUjR1aVNVZklxdjZwMFhWRnd4OWxnOE1GSWZFaUVSeEpzbU52MjBE?= =?utf-8?B?VmtDYUJYMS9mcEJia0V3NEpQR1lZaVBwVXIwZjZsTTdQbXF5TXh0SjVWUU12?= =?utf-8?B?eG00TlQzZ3JRdFhZbW01Q2hxZm55K0U4dnZtYnE4ZGZwSk8yc1NPOFFuOU1q?= =?utf-8?B?MkpMSjNoZWdOMkJ1ZVZxRitiZUlONDcxYmRDdnJYUTlKNEpxMmxsMHdnVnFp?= =?utf-8?B?SkNCVXU2VFVGVkt0RmFWSTlrWXo2dW9JTm4xVHFjVk53OTVxUVVQWW56T0l1?= =?utf-8?B?TVc3SkF4Z296ekRRcTVCN0Q3UTFVTnJHMStWbCtyZTVvbFNGK3pTY0NKYkIv?= =?utf-8?B?MFE5SHlJRGJrUmRMcS9PSy8xZ0ZMazk5c2pDMFErVVgzc3M1Z2pmdDJPOTNm?= =?utf-8?B?cndHN2RGRUFub2xobXk2RUw0RUh3bGNiMTNKeHJYSXVaaFJZUDV1UnNaeWRN?= =?utf-8?B?QkVORVh1K0lxRWhOcU0wa3ZrZlROOXBzSnpBYU1YM1ZhancvdUV3Z1lhSkNs?= =?utf-8?B?SWxtczNncFNoSitWY0RZcVBKZnFjVnQwWXRIRjF0dEJibWRIVjlnYWVEemFH?= =?utf-8?Q?naj5FJfCuB00j85roh4ePqS9vL4i0zTnWCOZ5wBIBzJX2?= X-MS-Exchange-AntiSpam-MessageData-1: aWITASpW0b7+jEsLaFZVkSJVeOV2OedNOjOFnw+SMPL28Kl2CU1qb90W X-OriginatorOrg: os.amperecomputing.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5c85449f-d368-4949-18ac-08da0f08bc89 X-MS-Exchange-CrossTenant-AuthSource: PH0PR01MB7287.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Mar 2022 09:12:22.7833 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3bc2b170-fd94-476d-b0ce-4229bdc904a7 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: BupxToqumSa8N5aTJ2eSiE1QNLD4o8+EfHrDtF34prrRLxTuwicdJEGBLiFgAELBsV6enjztYHYXy8Moz/qhqp6Ni285ImP2rYI64XRjVS4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR01MB6090 Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable Hi Leif, On 25/03/2022 23:30, Leif Lindholm wrote: > Hi Nhi, > > On Sun, Dec 19, 2021 at 10:35:41 +0700, Nhi Pham via groups.io wrote: >> Hi Rebecca, >> >> Leif is merging the rest of Altra port to the edk2-platforms which has S= RAT >> ACPI table consuming the CPU Core Info table. Therefore, we will need to= fix >> the SRAT too. I would defer the fix until the Altra port is fully merged= . >> >> On 17/12/2021 05:07, Rebecca Cran wrote: >>> The ARM_CORE_INFO struct has been updated so the MPIDR is now a single >>> field instead of separate cluster/core fields. Update ArmPlatformLib. >>> >>> Signed-off-by: Rebecca Cran >>> --- >>> Silicon/Ampere/AmpereAltraPkg/Library/ArmPlatformLib/ArmPlatformLib.= c | 5 ++--- >>> 1 file changed, 2 insertions(+), 3 deletions(-) >>> >>> diff --git a/Silicon/Ampere/AmpereAltraPkg/Library/ArmPlatformLib/ArmPl= atformLib.c b/Silicon/Ampere/AmpereAltraPkg/Library/ArmPlatformLib/ArmPlatf= ormLib.c >>> index 5b4be0e55516..f2ec923d6f8d 100644 >>> --- a/Silicon/Ampere/AmpereAltraPkg/Library/ArmPlatformLib/ArmPlatformL= ib.c >>> +++ b/Silicon/Ampere/AmpereAltraPkg/Library/ArmPlatformLib/ArmPlatformL= ib.c >>> @@ -108,9 +108,8 @@ PrePeiCoreGetMpCoreInfo ( >>> } >>> SocketId =3D SOCKET_ID (Index); >>> ClusterId =3D CLUSTER_ID (Index); >>> - mArmPlatformMpCoreInfoTable[mArmPlatformCoreCount].ClusterId =3D S= ocketId; >>> - mArmPlatformMpCoreInfoTable[mArmPlatformCoreCount].CoreId =3D >>> - (ClusterId << 8) | (Index % PLATFORM_CPU_NUM_CORES_PER_CPM); >>> + mArmPlatformMpCoreInfoTable[mArmPlatformCoreCount].Mpidr =3D GET_M= PID ( >>> + SocketId, (ClusterId << 8) | (Index % PLATFORM_CPU_NUM_CORES_PER= _CPM)); >> For Ampere Altra, the correct MPIDR encoding is SocketId << 32 | Cluster= Id >> << 16 | (Index % PLATFORM_CPU_NUM_CORES_PER_CPM) << 8 >> >> It would be the same what >> Platform/Ampere/JadePkg/Drivers/AcpiPlatformDxe/AcpiMadt.c (not availabl= e >> yet - being merged in) is describing. > This patch already got merged, so if you feel it is wrong, could you > submit a fix please? > > The next patch for me to push from your set otherwise also requires > some changes. My na=C3=AFve attempt would look something like: > > diff --git a/Platform/Ampere/JadePkg/Drivers/AcpiPlatformDxe/AcpiSrat.c b= /Platform/Ampere/JadePkg/Drivers/AcpiPlatformDxe/AcpiSrat.c > index 906b771a250c..d5bc732b08bb 100644 > --- a/Platform/Ampere/JadePkg/Drivers/AcpiPlatformDxe/AcpiSrat.c > +++ b/Platform/Ampere/JadePkg/Drivers/AcpiPlatformDxe/AcpiSrat.c > @@ -7,6 +7,7 @@ > **/ > =20 > #include > +#include > #include "AcpiPlatform.h" > =20 > EFI_ACPI_6_3_SYSTEM_RESOURCE_AFFINITY_TABLE_HEADER SRATTableHeaderTempl= ate =3D { > @@ -119,6 +120,7 @@ SratAddGiccAffinity ( > UINTN Count, NumNode, Idx; > UINT32 AcpiProcessorUid; > UINT8 Socket; > + UINT8 Core; > UINT8 Cpm; > =20 > for (Idx =3D 0; Idx < gST->NumberOfTableEntries; Idx++) { > @@ -137,14 +139,14 @@ SratAddGiccAffinity ( > NumNode =3D 0; > while (Count !=3D ArmProcessorTable->NumberOfEntries) { > for (Idx =3D 0; Idx < ArmProcessorTable->NumberOfEntries; Idx++ ) { > - Socket =3D ArmCoreInfoTable[Idx].ClusterId; > - Cpm =3D (ArmCoreInfoTable[Idx].CoreId >> PLATFORM_CPM_UID_BIT_OFFS= ET); > + Socket =3D GET_MPIDR_AFF1 (ArmCoreInfoTable[Idx].Mpidr); > + Core =3D GET_MPIDR_AFF0 (ArmCoreInfoTable[Idx].Mpidr); > + Cpm =3D Core >> PLATFORM_CPM_UID_BIT_OFFSET; > if (CpuGetSubNumNode (Socket, Cpm) !=3D NumNode) { > /* We add nodes based on ProximityDomain order */ > continue; > } > - AcpiProcessorUid =3D (ArmCoreInfoTable[Idx].ClusterId << PLATFORM_= SOCKET_UID_BIT_OFFSET) + > - ArmCoreInfoTable[Idx].CoreId; > + AcpiProcessorUid =3D (Socket << PLATFORM_SOCKET_UID_BIT_OFFSET) + = Core; > ZeroMem ((VOID *)&SratGiccAffinity[Count], sizeof (SratGiccAffini= ty[Count])); > SratGiccAffinity[Count].AcpiProcessorUid =3D AcpiProcessorUid; > SratGiccAffinity[Count].Flags =3D 1; > > Would you be happy for me to fold that into > "AmpereAltraPkg, JadePkg: Add ACPI support", or would you be able to > submit a v6 of that patch only? > > Best Regards, > > Leif Thanks much for the patch. The MPIDR decoding matches with Rebecca's=20 update for the ArmPlatformLib earlier and the ARM_CORE_INFO is just=20 consumed in the AcpiSrat.c. So, that is good for now. Please help fold=20 that into the ACPI patch when merging the rest of the Mt. Jade support=20 patchset. In the future, I will follow up with a patch that makes the=20 representation of MPIDR in the ARM_CORE_INFO the same as in MADT table. Thanks, Nhi