Commit 0359b0e2 authored by Javi Merino's avatar Javi Merino Committed by Catalin Marinas

arm64: head: match all affinity levels in the pen of the secondaries

The reg property of the cpu nodes in the DT now contains all the
affinity levels in (MPIDR[39:32] and MPIDR[23:0]) and that's what
boot_secondary() writes in the pen, so increase the mask in
secondary_holding_pen accordingly.
Signed-off-by: default avatarJavi Merino <javi.merino@arm.com>
Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
parent 4c7aa002
...@@ -42,6 +42,8 @@ ...@@ -42,6 +42,8 @@
#define ARM_CPU_PART_FOUNDATION 0xD000 #define ARM_CPU_PART_FOUNDATION 0xD000
#define ARM_CPU_PART_CORTEX_A57 0xD070 #define ARM_CPU_PART_CORTEX_A57 0xD070
#ifndef __ASSEMBLY__
/* /*
* The CPU ID never changes at run time, so we might as well tell the * The CPU ID never changes at run time, so we might as well tell the
* compiler that it's constant. Use this function to read the CPU ID * compiler that it's constant. Use this function to read the CPU ID
...@@ -72,4 +74,6 @@ static inline u32 __attribute_const__ read_cpuid_cachetype(void) ...@@ -72,4 +74,6 @@ static inline u32 __attribute_const__ read_cpuid_cachetype(void)
return read_cpuid(ID_CTR_EL0); return read_cpuid(ID_CTR_EL0);
} }
#endif /* __ASSEMBLY__ */
#endif #endif
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
#include <asm/assembler.h> #include <asm/assembler.h>
#include <asm/ptrace.h> #include <asm/ptrace.h>
#include <asm/asm-offsets.h> #include <asm/asm-offsets.h>
#include <asm/cputype.h>
#include <asm/memory.h> #include <asm/memory.h>
#include <asm/thread_info.h> #include <asm/thread_info.h>
#include <asm/pgtable-hwdef.h> #include <asm/pgtable-hwdef.h>
...@@ -229,7 +230,8 @@ ENTRY(secondary_holding_pen) ...@@ -229,7 +230,8 @@ ENTRY(secondary_holding_pen)
bl __calc_phys_offset // x24=phys offset bl __calc_phys_offset // x24=phys offset
bl el2_setup // Drop to EL1 bl el2_setup // Drop to EL1
mrs x0, mpidr_el1 mrs x0, mpidr_el1
and x0, x0, #15 // CPU number ldr x1, =MPIDR_HWID_BITMASK
and x0, x0, x1
adr x1, 1b adr x1, 1b
ldp x2, x3, [x1] ldp x2, x3, [x1]
sub x1, x1, x2 sub x1, x1, x2
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment