diff options
Diffstat (limited to 'arch/arm64')
-rw-r--r-- | arch/arm64/kernel/topology.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/arm64/kernel/topology.c b/arch/arm64/kernel/topology.c index b6ee26b0939a..fcb8f7b42271 100644 --- a/arch/arm64/kernel/topology.c +++ b/arch/arm64/kernel/topology.c | |||
@@ -255,12 +255,15 @@ void store_cpu_topology(unsigned int cpuid) | |||
255 | /* Multiprocessor system : Multi-threads per core */ | 255 | /* Multiprocessor system : Multi-threads per core */ |
256 | cpuid_topo->thread_id = MPIDR_AFFINITY_LEVEL(mpidr, 0); | 256 | cpuid_topo->thread_id = MPIDR_AFFINITY_LEVEL(mpidr, 0); |
257 | cpuid_topo->core_id = MPIDR_AFFINITY_LEVEL(mpidr, 1); | 257 | cpuid_topo->core_id = MPIDR_AFFINITY_LEVEL(mpidr, 1); |
258 | cpuid_topo->cluster_id = MPIDR_AFFINITY_LEVEL(mpidr, 2); | 258 | cpuid_topo->cluster_id = MPIDR_AFFINITY_LEVEL(mpidr, 2) | |
259 | MPIDR_AFFINITY_LEVEL(mpidr, 3) << 8; | ||
259 | } else { | 260 | } else { |
260 | /* Multiprocessor system : Single-thread per core */ | 261 | /* Multiprocessor system : Single-thread per core */ |
261 | cpuid_topo->thread_id = -1; | 262 | cpuid_topo->thread_id = -1; |
262 | cpuid_topo->core_id = MPIDR_AFFINITY_LEVEL(mpidr, 0); | 263 | cpuid_topo->core_id = MPIDR_AFFINITY_LEVEL(mpidr, 0); |
263 | cpuid_topo->cluster_id = MPIDR_AFFINITY_LEVEL(mpidr, 1); | 264 | cpuid_topo->cluster_id = MPIDR_AFFINITY_LEVEL(mpidr, 1) | |
265 | MPIDR_AFFINITY_LEVEL(mpidr, 2) << 8 | | ||
266 | MPIDR_AFFINITY_LEVEL(mpidr, 3) << 16; | ||
264 | } | 267 | } |
265 | 268 | ||
266 | pr_debug("CPU%u: cluster %d core %d thread %d mpidr %#016llx\n", | 269 | pr_debug("CPU%u: cluster %d core %d thread %d mpidr %#016llx\n", |