From nobody Tue Feb 10 20:06:52 2026 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+84928+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+84928+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1639590416; cv=none; d=zohomail.com; s=zohoarc; b=I5CTivBpv+e/FOfD5hUBfxiL6VKM2gj5V2KTwQCr0nwwZCdlqqUHQZLDJwFQPfAq7y6fmWnItuqftIbly//lGA/JzW+6oEE7thaGZUeZewjdWtvx2gt5DgNwtLjLNtCDmV0eriFIMfBj1nyvqolbkpKiHYj38HpDjQLU1NF5Pdk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1639590416; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=An6XzT/zKkjgHqP5dn/+PJV+2Hh42IIZ2j5EWN6yyEg=; b=OeUrK1QmldvwI4TGwoMD4ng4umSvtyFBuBP1Dcx6VAnqW7tzKdr4jgS7uJlzi5ZSBhq0ApGVHXeBksLJM7JsyLp/xdKpZLrgrnknaCfnUVm8YwB4HO+8prHSRzFvQrKu7+YtKsXJn+IKukrwXUvOOQKDrPq6KWeetApqRAXg8RE= 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+84928+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1639590416697596.9190681472871; Wed, 15 Dec 2021 09:46:56 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id 2hloYY1788612xBZtmvI1lCG; Wed, 15 Dec 2021 09:46:56 -0800 X-Received: from mail-pj1-f50.google.com (mail-pj1-f50.google.com [209.85.216.50]) by mx.groups.io with SMTP id smtpd.web10.1642.1639590415639866204 for ; Wed, 15 Dec 2021 09:46:55 -0800 X-Received: by mail-pj1-f50.google.com with SMTP id co15so1610169pjb.2 for ; Wed, 15 Dec 2021 09:46:55 -0800 (PST) X-Gm-Message-State: AGBwip8w99gH9FQ82xVwgOJvx1787277AA= X-Google-Smtp-Source: ABdhPJxfubANnpm0GGsmXeF9XlcPnz9oJrHlmvJrOyKOIVt7vIMTxa0idlR4ig5+zUeJq/dwDj8fzA== X-Received: by 2002:a17:90a:430f:: with SMTP id q15mr984158pjg.170.1639590414856; Wed, 15 Dec 2021 09:46:54 -0800 (PST) X-Received: from linbox.ba.nuviainc.com ([2601:681:4300:69e:9e7b:efff:fe2b:884c]) by smtp.gmail.com with ESMTPSA id q19sm2869977pjd.21.2021.12.15.09.46.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Dec 2021 09:46:54 -0800 (PST) From: "Rebecca Cran" To: devel@edk2.groups.io, Ard Biesheuvel , Gerd Hoffmann , Samer El-Haj-Mahmoud , Leif Lindholm , Sami Mujawar Cc: Rebecca Cran Subject: [edk2-devel] [PATCH v2 1/2] ArmPkg: Replace CoreId and ClusterId with Mpidr in ARM_CORE_INFO struct Date: Wed, 15 Dec 2021 10:46:43 -0700 Message-Id: <20211215174644.504-2-rebecca@nuviainc.com> In-Reply-To: <20211215174644.504-1-rebecca@nuviainc.com> References: <20211215174644.504-1-rebecca@nuviainc.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: 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,rebecca@nuviainc.com Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1639590416; bh=Okat91omv/n4gP+AozCWEjeSh3p8IyymcwvPeavD1Bs=; h=Cc:Date:From:Reply-To:Subject:To; b=sXwb+sfBgbEmsqgcJC10Nhjv69yIClekGVktKYKu42aJj6dib/TCCR+UX8V5dZ68hZC u7LjX30Ad9ryIfLpUC2jGDjyISyAf7TwmkcJEY/8d344IsZOCgQCpJpKQRfSYHsZKbBm2 8ygA4lKSeTsDAMV5K3c7remnNx8aprsLHwE= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1639590418786100002 Content-Type: text/plain; charset="utf-8" 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_AFF1 instead. Signed-off-by: Rebecca Cran --- ArmPkg/Include/Guid/ArmMpCoreInfo.h | 3 +-- ArmPkg/Include/Library/ArmLib.h | 10 ++++++= +--- ArmPlatformPkg/Library/ArmPlatformLibNull/ArmPlatformLibNull.c | 8 ++++--= -- ArmPlatformPkg/PrePeiCore/MainMPCore.c | 2 +- ArmPlatformPkg/PrePi/MainMPCore.c | 2 +- 5 files changed, 14 insertions(+), 11 deletions(-) diff --git a/ArmPkg/Include/Guid/ArmMpCoreInfo.h b/ArmPkg/Include/Guid/ArmM= pCoreInfo.h index 06f9326ca021..43f0848e78b8 100644 --- a/ArmPkg/Include/Guid/ArmMpCoreInfo.h +++ b/ArmPkg/Include/Guid/ArmMpCoreInfo.h @@ -14,8 +14,7 @@ #define MPIDR_U_BIT_MASK 0x40000000 =20 typedef struct { - UINT32 ClusterId; - UINT32 CoreId; + UINT64 Mpidr; =20 // MP Core Mailbox EFI_PHYSICAL_ADDRESS MailboxSetAddress; diff --git a/ArmPkg/Include/Library/ArmLib.h b/ArmPkg/Include/Library/ArmLi= b.h index e4d0476090c7..5287bdfc8684 100644 --- a/ArmPkg/Include/Library/ArmLib.h +++ b/ArmPkg/Include/Library/ArmLib.h @@ -108,10 +108,14 @@ typedef enum { =20 #define ARM_CORE_MASK ARM_CORE_AFF0 #define ARM_CLUSTER_MASK ARM_CORE_AFF1 -#define GET_CORE_ID(MpId) ((MpId) & ARM_CORE_MASK) -#define GET_CLUSTER_ID(MpId) (((MpId) & ARM_CLUSTER_MASK) >> 8) +#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 PRIMARY_CORE_ID (PcdGet32(PcdArmPrimaryCore) & ARM_CORE_MASK) +#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_MASK) =20 /** Reads the CCSIDR register for the specified cache. =20 diff --git a/ArmPlatformPkg/Library/ArmPlatformLibNull/ArmPlatformLibNull.c= b/ArmPlatformPkg/Library/ArmPlatformLibNull/ArmPlatformLibNull.c index eeab58805e67..852275f44fc3 100644 --- a/ArmPlatformPkg/Library/ArmPlatformLibNull/ArmPlatformLibNull.c +++ b/ArmPlatformPkg/Library/ArmPlatformLibNull/ArmPlatformLibNull.c @@ -14,7 +14,7 @@ ARM_CORE_INFO mArmPlatformNullMpCoreInfoTable[] =3D { { // Cluster 0, Core 0 - 0x0, 0x0, + 0x0, =20 // MP Core MailBox Set/Get/Clear Addresses and Clear Value (EFI_PHYSICAL_ADDRESS)0, @@ -24,7 +24,7 @@ ARM_CORE_INFO mArmPlatformNullMpCoreInfoTable[] =3D { }, { // Cluster 0, Core 1 - 0x0, 0x1, + 0x1, =20 // MP Core MailBox Set/Get/Clear Addresses and Clear Value (EFI_PHYSICAL_ADDRESS)0, @@ -34,7 +34,7 @@ ARM_CORE_INFO mArmPlatformNullMpCoreInfoTable[] =3D { }, { // Cluster 0, Core 2 - 0x0, 0x2, + 0x2, =20 // MP Core MailBox Set/Get/Clear Addresses and Clear Value (EFI_PHYSICAL_ADDRESS)0, @@ -44,7 +44,7 @@ ARM_CORE_INFO mArmPlatformNullMpCoreInfoTable[] =3D { }, { // Cluster 0, Core 3 - 0x0, 0x3, + 0x3, =20 // MP Core MailBox Set/Get/Clear Addresses and Clear Value (EFI_PHYSICAL_ADDRESS)0, diff --git a/ArmPlatformPkg/PrePeiCore/MainMPCore.c b/ArmPlatformPkg/PrePei= Core/MainMPCore.c index 0b8e5dfb3f30..e6cb75157053 100644 --- a/ArmPlatformPkg/PrePeiCore/MainMPCore.c +++ b/ArmPlatformPkg/PrePeiCore/MainMPCore.c @@ -68,7 +68,7 @@ SecondaryMain ( =20 // Find the core in the ArmCoreTable for (Index =3D 0; Index < ArmCoreCount; Index++) { - if ((ArmCoreInfoTable[Index].ClusterId =3D=3D ClusterId) && (ArmCoreIn= foTable[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/MainM= PCore.c index ce53cea6367c..0433fd0f2e75 100644 --- a/ArmPlatformPkg/PrePi/MainMPCore.c +++ b/ArmPlatformPkg/PrePi/MainMPCore.c @@ -67,7 +67,7 @@ SecondaryMain ( =20 // Find the core in the ArmCoreTable for (Index =3D 0; Index < ArmCoreCount; Index++) { - if ((ArmCoreInfoTable[Index].ClusterId =3D=3D ClusterId) && (ArmCoreIn= foTable[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; } } --=20 2.31.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 (#84928): https://edk2.groups.io/g/devel/message/84928 Mute This Topic: https://groups.io/mt/87749223/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-