From 103fa647d159e3d76be2634d2653c2d215dd0d46 Mon Sep 17 00:00:00 2001 From: Rebecca Cran Date: Wed, 15 Dec 2021 20:46:31 -0700 Subject: ArmPkg: Replace CoreId and ClusterId with Mpidr in ARM_CORE_INFO struct 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 Reviewed-by: Ard Biesheuvel --- ArmPlatformPkg/Library/ArmPlatformLibNull/ArmPlatformLibNull.c | 8 ++++---- ArmPlatformPkg/PrePeiCore/MainMPCore.c | 4 +++- ArmPlatformPkg/PrePi/MainMPCore.c | 4 +++- 3 files changed, 10 insertions(+), 6 deletions(-) (limited to 'ArmPlatformPkg') diff --git a/ArmPlatformPkg/Library/ArmPlatformLibNull/ArmPlatformLibNull.c b/ArmPlatformPkg/Library/ArmPlatformLibNull/ArmPlatformLibNull.c index eeab58805e..852275f44f 100644 --- a/ArmPlatformPkg/Library/ArmPlatformLibNull/ArmPlatformLibNull.c +++ b/ArmPlatformPkg/Library/ArmPlatformLibNull/ArmPlatformLibNull.c @@ -14,7 +14,7 @@ ARM_CORE_INFO mArmPlatformNullMpCoreInfoTable[] = { { // Cluster 0, Core 0 - 0x0, 0x0, + 0x0, // MP Core MailBox Set/Get/Clear Addresses and Clear Value (EFI_PHYSICAL_ADDRESS)0, @@ -24,7 +24,7 @@ ARM_CORE_INFO mArmPlatformNullMpCoreInfoTable[] = { }, { // Cluster 0, Core 1 - 0x0, 0x1, + 0x1, // MP Core MailBox Set/Get/Clear Addresses and Clear Value (EFI_PHYSICAL_ADDRESS)0, @@ -34,7 +34,7 @@ ARM_CORE_INFO mArmPlatformNullMpCoreInfoTable[] = { }, { // Cluster 0, Core 2 - 0x0, 0x2, + 0x2, // MP Core MailBox Set/Get/Clear Addresses and Clear Value (EFI_PHYSICAL_ADDRESS)0, @@ -44,7 +44,7 @@ ARM_CORE_INFO mArmPlatformNullMpCoreInfoTable[] = { }, { // 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/PrePeiCore/MainMPCore.c index 0b8e5dfb3f..b5d0d3a644 100644 --- a/ArmPlatformPkg/PrePeiCore/MainMPCore.c +++ b/ArmPlatformPkg/PrePeiCore/MainMPCore.c @@ -68,7 +68,9 @@ SecondaryMain ( // Find the core in the ArmCoreTable for (Index = 0; Index < ArmCoreCount; Index++) { - if ((ArmCoreInfoTable[Index].ClusterId == ClusterId) && (ArmCoreInfoTable[Index].CoreId == CoreId)) { + if ((GET_MPIDR_AFF1 (ArmCoreInfoTable[Index].Mpidr) == ClusterId) && + (GET_MPIDR_AFF0 (ArmCoreInfoTable[Index].Mpidr) == CoreId)) + { break; } } diff --git a/ArmPlatformPkg/PrePi/MainMPCore.c b/ArmPlatformPkg/PrePi/MainMPCore.c index ce53cea636..68a7c13298 100644 --- a/ArmPlatformPkg/PrePi/MainMPCore.c +++ b/ArmPlatformPkg/PrePi/MainMPCore.c @@ -67,7 +67,9 @@ SecondaryMain ( // Find the core in the ArmCoreTable for (Index = 0; Index < ArmCoreCount; Index++) { - if ((ArmCoreInfoTable[Index].ClusterId == ClusterId) && (ArmCoreInfoTable[Index].CoreId == CoreId)) { + if ((GET_MPIDR_AFF1 (ArmCoreInfoTable[Index].Mpidr) == ClusterId) && + (GET_MPIDR_AFF0 (ArmCoreInfoTable[Index].Mpidr) == CoreId)) + { break; } } -- cgit v1.2.3