1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
230ad29bbSHuacai Chen #ifndef _ASM_MACH_TOPOLOGY_H
330ad29bbSHuacai Chen #define _ASM_MACH_TOPOLOGY_H
430ad29bbSHuacai Chen 
530ad29bbSHuacai Chen #ifdef CONFIG_NUMA
630ad29bbSHuacai Chen 
730ad29bbSHuacai Chen #define cpu_to_node(cpu)	(cpu_logical_map(cpu) >> 2)
81bdb7b76SJiaxun Yang 
91bdb7b76SJiaxun Yang extern cpumask_t __node_cpumask[];
101bdb7b76SJiaxun Yang #define cpumask_of_node(node)	(&__node_cpumask[node])
1130ad29bbSHuacai Chen 
1230ad29bbSHuacai Chen struct pci_bus;
1330ad29bbSHuacai Chen extern int pcibus_to_node(struct pci_bus *);
1430ad29bbSHuacai Chen 
1530ad29bbSHuacai Chen #define cpumask_of_pcibus(bus)	(cpu_online_mask)
1630ad29bbSHuacai Chen 
1730ad29bbSHuacai Chen extern unsigned char __node_distances[MAX_NUMNODES][MAX_NUMNODES];
1830ad29bbSHuacai Chen 
1930ad29bbSHuacai Chen #define node_distance(from, to)	(__node_distances[(from)][(to)])
2030ad29bbSHuacai Chen 
2130ad29bbSHuacai Chen #endif
2230ad29bbSHuacai Chen 
2330ad29bbSHuacai Chen #include <asm-generic/topology.h>
2430ad29bbSHuacai Chen 
2530ad29bbSHuacai Chen #endif /* _ASM_MACH_TOPOLOGY_H */
26