From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (EUR04-HE1-obe.outbound.protection.outlook.com [40.107.7.44]) by mx.groups.io with SMTP id smtpd.web12.984.1634925083725609830 for ; Fri, 22 Oct 2021 10:51:24 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=uRBEpWs9; spf=pass (domain: arm.com, ip: 40.107.7.44, mailfrom: sami.mujawar@arm.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2Pgznh9OYZxI7F6hXMXY6bceJ3sltruDWGgi5SM9WOE=; b=uRBEpWs99T/oKhODOkfkRbxiFzKmUcKbd9YNk8kQTu/lhIt6abIwnNvNviPZ+UY0EA4se0PxgEazMn/Ea2q85Kmcjtil2IpXwG2GOB/6Gro0OfyRoNGi2DloDlh0XEWg7uWHItw27HfQ6tZ0Flf8hnbF3EkwnWMYzDWbfSRbZvU= Received: from DB8PR03CA0025.eurprd03.prod.outlook.com (2603:10a6:10:be::38) by AM4PR0802MB2308.eurprd08.prod.outlook.com (2603:10a6:200:62::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4628.16; Fri, 22 Oct 2021 17:51:19 +0000 Received: from DB5EUR03FT033.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:be:cafe::d6) by DB8PR03CA0025.outlook.office365.com (2603:10a6:10:be::38) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4628.18 via Frontend Transport; Fri, 22 Oct 2021 17:51:19 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DB5EUR03FT033.mail.protection.outlook.com (10.152.20.76) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4628.18 via Frontend Transport; Fri, 22 Oct 2021 17:51:19 +0000 Received: ("Tessian outbound b9598e0ead92:v103"); Fri, 22 Oct 2021 17:51:19 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: ca7b22751df935b5 X-CR-MTA-TID: 64aa7808 Received: from 1a7dc55dd44e.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 5CE823CA-4EC2-43BA-AE32-89C67FF1459B.1; Fri, 22 Oct 2021 17:51:13 +0000 Received: from EUR03-DB5-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 1a7dc55dd44e.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 22 Oct 2021 17:51:13 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lOsxgUvKgYgGrx/Ij74z3OppG5ACTalzBY7WJDzQUw18V4gjpz4bsYvjmugbfuhXwkn6+yVnMRBJ6YgjkNjo6jey5GMS9VDek6qlxb17faxzUxxThwLidjSZYciLO9WVCXt0g6v42Whak4VajJbQ46n66y+YSw+zLpPmkiZWKRNDriCiCmHHxyW6XNHbp9JR7Lgl3o+nTNKYOcbhfBeKCl9NWmRkkB6RL1grACuApXDAj8OteDgKy0cPnGXy47vhziC5tiTnupr6L9f2f8+IAvdad9VpkEFKGr4DqCE/X64GqFU/nN1tNSSXSIa3SmBHIevhxD1t3x95ENmDMdnbuw== 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=2Pgznh9OYZxI7F6hXMXY6bceJ3sltruDWGgi5SM9WOE=; b=WUEeldDSyY9ieXANP2rbLNUpXmuZ8nV9jCa29xbiXZg+T/VCBlZOEucx3ypCf6tolz8UHIiw7XjjtFtQsVhQeA72aPHisZ53SN8FbMz/LASTEtUb9ekP4YyHLd9Gwj2/xSaDHufEfCrAOgelMrc/piuMjCErSz73z6la8EBPFMzfX4YWRUgmifxY+IV3kmfTUihnk/rr1ojLN2Wdrm72T1Fv8RX2yphdtyG4p2KmnN1sNFU0kVoQIZJrG77e9EmXgTYZgvij1CQCSq0sroZm5s2+FDJopPKy8CTK2504o4sT3Vwdra2KVIuF7ejoNXgpzy+eU5DHfW9Z71I0KwtPHg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2Pgznh9OYZxI7F6hXMXY6bceJ3sltruDWGgi5SM9WOE=; b=uRBEpWs99T/oKhODOkfkRbxiFzKmUcKbd9YNk8kQTu/lhIt6abIwnNvNviPZ+UY0EA4se0PxgEazMn/Ea2q85Kmcjtil2IpXwG2GOB/6Gro0OfyRoNGi2DloDlh0XEWg7uWHItw27HfQ6tZ0Flf8hnbF3EkwnWMYzDWbfSRbZvU= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from AS8PR08MB6806.eurprd08.prod.outlook.com (2603:10a6:20b:39b::12) by AM6PR08MB4408.eurprd08.prod.outlook.com (2603:10a6:20b:be::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4628.18; Fri, 22 Oct 2021 17:51:11 +0000 Received: from AS8PR08MB6806.eurprd08.prod.outlook.com ([fe80::54b5:239d:9896:ee65]) by AS8PR08MB6806.eurprd08.prod.outlook.com ([fe80::54b5:239d:9896:ee65%4]) with mapi id 15.20.4628.018; Fri, 22 Oct 2021 17:51:11 +0000 Subject: Re: [PATCH 1/2] ArmPkg: Replace CoreId and ClusterId with Mpidr in ARM_CORE_INFO struct To: Rebecca Cran , Ard Biesheuvel , Gerd Hoffmann , Samer El-Haj-Mahmoud , Leif Lindholm , devel@edk2.groups.io, nd References: <20211018153945.1690-1-rebecca@nuviainc.com> <20211018153945.1690-2-rebecca@nuviainc.com> From: "Sami Mujawar" Message-ID: <4442ea34-e0be-be6c-1293-94b1323f3b88@arm.com> Date: Fri, 22 Oct 2021 18:51:10 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.0.1 In-Reply-To: <20211018153945.1690-2-rebecca@nuviainc.com> X-ClientProxiedBy: LO4P265CA0024.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:2ae::19) To AS8PR08MB6806.eurprd08.prod.outlook.com (2603:10a6:20b:39b::12) MIME-Version: 1.0 Received: from [10.1.196.43] (217.140.106.52) by LO4P265CA0024.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:2ae::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4628.18 via Frontend Transport; Fri, 22 Oct 2021 17:51:10 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ddb4d20b-0dc4-47c7-5af7-08d995848dd7 X-MS-TrafficTypeDiagnostic: AM6PR08MB4408:|AM4PR0802MB2308: X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:6108;OLM:8273; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: KGY7dXVDu0oxCnWtz/i9JwIqI8K+lgo4ijTSclybAnXbSl4uKfSvak2pX7BEJxtaU0Goz0RNJ4d+ZiIk2wrJw9dlvM6Ko9haWWvYoTMDqN7IxM0WT1BFQ8EuPM8kOyS1oc46UPvXGwY+Ol3pYriwO7xW8ElF27qvkpn4ll//2qguOiXOqz0lR4rJyraVMnO57ucLloJD8sETbP3p8T2UTL8PxSiOM16UwkgNGkAxBhAU9kKJ3uLZhmxSeC0VihM/hjCWtgglXjkIfH9bkyoe5FDVJqshBsS+2tlAYB3N5EhSzf/+JCfs65EXgT+rdCADdYrJbHD1SQpPgx/k0kiiDgLZ0Qbhg2NsC31yFxT2yKJ0YTi7LF3uB2Bq3YAtWgvGbF26mm3HxvSn96DzRvQuT43kqxN6XrGiYS4LPNqZYmZJvdBACUw19C09Kgzr77vNBpvJPamFuBg2UYNRGZZqWM5uTohemPy10+bOLIH+ftEcE05RxWniy+A4/N7qtM4YZlm1ZGShJI6hlMa/G53mhec/K9hIw2bXdM6fhT08fYgpC8MISr8UFSjwtcpffB1FV8e6+5GpwotRgxCBRO7e5RfGTsttbO6BOy0CSDadeJdyFuEOrSbqk/jv/weUSwGnzVgap8q/z1s2KaGsA6i3IK7uBhf2SbbjTpd/+miUgEATLs12XFLfGigfFwhJhxtTI0dpxTknm/3/9RXRGxttwfCnHZB/buTWaKNE8fo4NmY81p43YIfC0D1oA0d0yHxV0I2xUA7sGjly4Vt5iKPSEw== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB6806.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(2616005)(31696002)(186003)(6486002)(956004)(26005)(83380400001)(5660300002)(52116002)(2906002)(53546011)(36756003)(6636002)(44832011)(86362001)(66946007)(316002)(66556008)(16576012)(38100700002)(8676002)(8936002)(110136005)(66476007)(31686004)(38350700002)(508600001)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4408 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Return-Path: Sami.Mujawar@arm.com X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT033.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: a00dc070-30c1-4f8e-efc3-08d995848874 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: fv7H3y0ufTg7rAUvnp+XR7p0V0xbnXPC4L7Zm7UxRx2B/+WvFH3m4jyPofog7LuF8tNNn1X8PMEhCS5pAA3E79X7j2ElNICwdL5ZkV53Ebo8/NZQxpfLskEzvjepRHG8kVy6RUkvOSGNXluHqTDTildAk0+uaULIIiOvr71O9i5Sy0QGLgiohqKPYsNxUBfEQmakd++smv83SiWE2aWDuxcE/H6bi+Q4z5SShhsRKqi2nzMOdFobNK6tzrrfNW3R0w7l4bm/8FsokkjSsz9D7wv0q3lw9VvCqGTSkqJ8zsdJXJLYAuczh7Lb9Y5FoE9BfSn/icZ+0RW9maE9/Ra7HH4xHGWFTjiVEcmNlkL/1FSHJKjHehuWySkRejrrWvg5ypEfBnUWhzrtgJSmfd1JNydNgjntvUa4G1Gejbsy+EMKmKzLLuMa21WGmqh9PA76lx19/xJrcAbSfVqeMHw2f8HWcOiUzk3nAnJtZcf0AZFVUFPhgBm3nWYdFpGoM7Upy1Epkx9XT0Usk2yjIAyUMI+lkc+pjheuvApCTVUF85XHF98wzu0bnzLqe3p0Ik0KMigv57J12xDwf3MN/BS5rpz121bQvfEo1TbMJXQ93pfOItuskPE191TlEScUQlK1RrpW9/q49pSKERCgq1yFHR7Xzi8k6qKD48x4ntjrIMHrJILsS24Hmsu66yJ5W/Xw1yZ4z93K8D90OGJjxwPG0RN0Wy/uITDuSOoe/P4e2Ek= X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(36840700001)(46966006)(956004)(70586007)(70206006)(44832011)(31696002)(26005)(53546011)(8936002)(6486002)(6636002)(336012)(2616005)(31686004)(36860700001)(86362001)(508600001)(83380400001)(36756003)(82310400003)(356005)(8676002)(5660300002)(316002)(2906002)(81166007)(47076005)(110136005)(16576012)(186003)(43740500002);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Oct 2021 17:51:19.7478 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ddb4d20b-0dc4-47c7-5af7-08d995848dd7 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DB5EUR03FT033.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0802MB2308 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable Content-Language: en-GB Hi Rebecca, Thank you for this patch. This patch looks good to me. Reviewed-by: Sami Mujawar Regards, Sami Mujawar On 18/10/2021 04:39 PM, Rebecca Cran wrote: > Remove the ClusterId and CoreId fields in the ARM_CORE_INFO structure in > favor of a new Mpidr field. Update code in > ArmPlatformPkg/PrePeiCore/MainMPCore and ArmPlatformPkg/PrePi/MainMPCore.= c > to use the new field and call new macros GET_MPIDR_AFF0 and GET_MPIDR_AFF= 1 > instead. > > Signed-off-by: Rebecca Cran > --- > ArmPkg/Include/Guid/ArmMpCoreInfo.h | 3 +-- > ArmPkg/Include/Library/ArmLib.h | 4 ++++ > ArmPlatformPkg/Library/ArmPlatformLibNull/ArmPlatformLibNull.c | 8 ++++= ---- > ArmPlatformPkg/PrePeiCore/MainMPCore.c | 2 +- > ArmPlatformPkg/PrePi/MainMPCore.c | 2 +- > 5 files changed, 11 insertions(+), 8 deletions(-) > > diff --git a/ArmPkg/Include/Guid/ArmMpCoreInfo.h b/ArmPkg/Include/Guid/Ar= mMpCoreInfo.h > index b810767879ae..04c44650ebf5 100644 > --- a/ArmPkg/Include/Guid/ArmMpCoreInfo.h > +++ b/ArmPkg/Include/Guid/ArmMpCoreInfo.h > @@ -14,8 +14,7 @@ > #define MPIDR_U_BIT_MASK 0x40000000 > > typedef struct { > - UINT32 ClusterId; > - UINT32 CoreId; > + UINT64 Mpidr; > > // MP Core Mailbox > EFI_PHYSICAL_ADDRESS MailboxSetAddress; > diff --git a/ArmPkg/Include/Library/ArmLib.h b/ArmPkg/Include/Library/Arm= Lib.h > index 79ea755777a9..d764cc670970 100644 > --- a/ArmPkg/Include/Library/ArmLib.h > +++ b/ArmPkg/Include/Library/ArmLib.h > @@ -107,6 +107,10 @@ typedef enum { > #define GET_CORE_ID(MpId) ((MpId) & ARM_CORE_MASK) > #define GET_CLUSTER_ID(MpId) (((MpId) & ARM_CLUSTER_MASK) >> 8) > #define GET_MPID(ClusterId, CoreId) (((ClusterId) << 8) | (CoreId)) > +#define GET_MPIDR_AFF0(MpId) ((MpId) & ARM_CORE_AFF0) > +#define GET_MPIDR_AFF1(MpId) (((MpId) & ARM_CORE_AFF1) >> 8) > +#define GET_MPIDR_AFF2(MpId) (((MpId) & ARM_CORE_AFF2) >> 16) > +#define GET_MPIDR_AFF3(MpId) (((MpId) & ARM_CORE_AFF3) >> 32) > #define PRIMARY_CORE_ID (PcdGet32(PcdArmPrimaryCore) & ARM_CORE_M= ASK) > > /** Reads the CCSIDR register for the specified cache. > diff --git a/ArmPlatformPkg/Library/ArmPlatformLibNull/ArmPlatformLibNull= .c b/ArmPlatformPkg/Library/ArmPlatformLibNull/ArmPlatformLibNull.c > index 1cd9ec30a977..6630cb68452c 100644 > --- a/ArmPlatformPkg/Library/ArmPlatformLibNull/ArmPlatformLibNull.c > +++ b/ArmPlatformPkg/Library/ArmPlatformLibNull/ArmPlatformLibNull.c > @@ -15,7 +15,7 @@ > ARM_CORE_INFO mArmPlatformNullMpCoreInfoTable[] =3D { > { > // Cluster 0, Core 0 > - 0x0, 0x0, > + 0x0, > > // MP Core MailBox Set/Get/Clear Addresses and Clear Value > (EFI_PHYSICAL_ADDRESS)0, > @@ -25,7 +25,7 @@ ARM_CORE_INFO mArmPlatformNullMpCoreInfoTable[] =3D { > }, > { > // Cluster 0, Core 1 > - 0x0, 0x1, > + 0x1, > > // MP Core MailBox Set/Get/Clear Addresses and Clear Value > (EFI_PHYSICAL_ADDRESS)0, > @@ -35,7 +35,7 @@ ARM_CORE_INFO mArmPlatformNullMpCoreInfoTable[] =3D { > }, > { > // Cluster 0, Core 2 > - 0x0, 0x2, > + 0x2, > > // MP Core MailBox Set/Get/Clear Addresses and Clear Value > (EFI_PHYSICAL_ADDRESS)0, > @@ -45,7 +45,7 @@ ARM_CORE_INFO mArmPlatformNullMpCoreInfoTable[] =3D { > }, > { > // Cluster 0, Core 3 > - 0x0, 0x3, > + 0x3, > > // MP Core MailBox Set/Get/Clear Addresses and Clear Value > (EFI_PHYSICAL_ADDRESS)0, > diff --git a/ArmPlatformPkg/PrePeiCore/MainMPCore.c b/ArmPlatformPkg/PreP= eiCore/MainMPCore.c > index 859f1adf2078..5f8a268bf664 100644 > --- a/ArmPlatformPkg/PrePeiCore/MainMPCore.c > +++ b/ArmPlatformPkg/PrePeiCore/MainMPCore.c > @@ -65,7 +65,7 @@ SecondaryMain ( > > // Find the core in the ArmCoreTable > for (Index =3D 0; Index < ArmCoreCount; Index++) { > - if ((ArmCoreInfoTable[Index].ClusterId =3D=3D ClusterId) && (ArmCore= InfoTable[Index].CoreId =3D=3D CoreId)) { > + if ((GET_MPIDR_AFF1 (ArmCoreInfoTable[Index].Mpidr) =3D=3D ClusterId= ) && (GET_MPIDR_AFF0 (ArmCoreInfoTable[Index].Mpidr) =3D=3D CoreId)) { > break; > } > } > diff --git a/ArmPlatformPkg/PrePi/MainMPCore.c b/ArmPlatformPkg/PrePi/Mai= nMPCore.c > index 091464df2aa9..6497a1ad27fd 100644 > --- a/ArmPlatformPkg/PrePi/MainMPCore.c > +++ b/ArmPlatformPkg/PrePi/MainMPCore.c > @@ -64,7 +64,7 @@ SecondaryMain ( > > // Find the core in the ArmCoreTable > for (Index =3D 0; Index < ArmCoreCount; Index++) { > - if ((ArmCoreInfoTable[Index].ClusterId =3D=3D ClusterId) && (ArmCore= InfoTable[Index].CoreId =3D=3D CoreId)) { > + if ((GET_MPIDR_AFF1 (ArmCoreInfoTable[Index].Mpidr) =3D=3D ClusterId= ) && (GET_MPIDR_AFF0 (ArmCoreInfoTable[Index].Mpidr) =3D=3D CoreId)) { > break; > } > } IMPORTANT NOTICE: The contents of this email and any attachments are confid= ential and may also be privileged. If you are not the intended recipient, p= lease notify the sender immediately and do not disclose the contents to any= other person, use it for any purpose, or store or copy the information in = any medium. Thank you.