|
@@ -257,19 +257,14 @@ void store_cpu_topology(unsigned int cpuid)
|
|
|
|
|
|
if (mpidr & MPIDR_MT_BITMASK) {
|
|
|
/* core performance interdependency */
|
|
|
- cpuid_topo->thread_id = (mpidr >> MPIDR_LEVEL0_SHIFT)
|
|
|
- & MPIDR_LEVEL0_MASK;
|
|
|
- cpuid_topo->core_id = (mpidr >> MPIDR_LEVEL1_SHIFT)
|
|
|
- & MPIDR_LEVEL1_MASK;
|
|
|
- cpuid_topo->socket_id = (mpidr >> MPIDR_LEVEL2_SHIFT)
|
|
|
- & MPIDR_LEVEL2_MASK;
|
|
|
+ cpuid_topo->thread_id = MPIDR_AFFINITY_LEVEL(mpidr, 0);
|
|
|
+ cpuid_topo->core_id = MPIDR_AFFINITY_LEVEL(mpidr, 1);
|
|
|
+ cpuid_topo->socket_id = MPIDR_AFFINITY_LEVEL(mpidr, 2);
|
|
|
} else {
|
|
|
/* largely independent cores */
|
|
|
cpuid_topo->thread_id = -1;
|
|
|
- cpuid_topo->core_id = (mpidr >> MPIDR_LEVEL0_SHIFT)
|
|
|
- & MPIDR_LEVEL0_MASK;
|
|
|
- cpuid_topo->socket_id = (mpidr >> MPIDR_LEVEL1_SHIFT)
|
|
|
- & MPIDR_LEVEL1_MASK;
|
|
|
+ cpuid_topo->core_id = MPIDR_AFFINITY_LEVEL(mpidr, 0);
|
|
|
+ cpuid_topo->socket_id = MPIDR_AFFINITY_LEVEL(mpidr, 1);
|
|
|
}
|
|
|
} else {
|
|
|
/*
|