1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _ASM_ALPHA_TOPOLOGY_H
3 #define _ASM_ALPHA_TOPOLOGY_H
6 #include <linux/threads.h>
7 #include <linux/numa.h>
8 #include <asm/machvec.h>
11 static inline int cpu_to_node(int cpu
)
15 if (!alpha_mv
.cpuid_to_nid
)
18 node
= alpha_mv
.cpuid_to_nid(cpu
);
27 extern struct cpumask node_to_cpumask_map
[];
28 /* FIXME: This is dumb, recalculating every time. But simple. */
29 static const struct cpumask
*cpumask_of_node(int node
)
33 if (node
== NUMA_NO_NODE
)
36 cpumask_clear(&node_to_cpumask_map
[node
]);
38 for_each_online_cpu(cpu
) {
39 if (cpu_to_node(cpu
) == node
)
40 cpumask_set_cpu(cpu
, node_to_cpumask_map
[node
]);
43 return &node_to_cpumask_map
[node
];
46 #define cpumask_of_pcibus(bus) (cpu_online_mask)
48 #endif /* !CONFIG_NUMA */
49 # include <asm-generic/topology.h>
51 #endif /* _ASM_ALPHA_TOPOLOGY_H */