1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _ASM_MACH_TOPOLOGY_H
3 #define _ASM_MACH_TOPOLOGY_H 1
5 #include <asm/sn/types.h>
6 #include <asm/mmzone.h>
9 nasid_t p_nasid
; /* my node ID in numa-as-id-space */
10 unsigned short p_speed
; /* cpu speed in MHz */
11 unsigned char p_slice
; /* Physical position on node board */
14 extern struct cpuinfo_ip27 sn_cpu_info
[NR_CPUS
];
16 #define cpu_to_node(cpu) (cputonasid(cpu))
17 #define cpumask_of_node(node) ((node) == -1 ? \
19 &hub_data(node)->h_cpus)
21 extern int pcibus_to_node(struct pci_bus
*);
23 #define cpumask_of_pcibus(bus) (cpumask_of_node(pcibus_to_node(bus)))
25 extern unsigned char __node_distances
[MAX_NUMNODES
][MAX_NUMNODES
];
27 #define node_distance(from, to) (__node_distances[(from)][(to)])
29 #include <asm-generic/topology.h>
31 #endif /* _ASM_MACH_TOPOLOGY_H */