Commit | Line | Data |
---|---|---|
f5e706ad SR |
1 | #ifndef _ASM_SPARC64_TOPOLOGY_H |
2 | #define _ASM_SPARC64_TOPOLOGY_H | |
3 | ||
4 | #ifdef CONFIG_NUMA | |
5 | ||
6 | #include <asm/mmzone.h> | |
7 | ||
8 | static inline int cpu_to_node(int cpu) | |
9 | { | |
10 | return numa_cpu_lookup_table[cpu]; | |
11 | } | |
12 | ||
13 | #define parent_node(node) (node) | |
14 | ||
e5981fd6 AB |
15 | #define cpumask_of_node(node) ((node) == -1 ? \ |
16 | cpu_all_mask : \ | |
17 | &numa_cpumask_lookup_table[node]) | |
f5e706ad | 18 | |
f5e706ad SR |
19 | struct pci_bus; |
20 | #ifdef CONFIG_PCI | |
f05a6865 | 21 | int pcibus_to_node(struct pci_bus *pbus); |
f5e706ad SR |
22 | #else |
23 | static inline int pcibus_to_node(struct pci_bus *pbus) | |
24 | { | |
25 | return -1; | |
26 | } | |
27 | #endif | |
28 | ||
9d079337 DM |
29 | #define cpumask_of_pcibus(bus) \ |
30 | (pcibus_to_node(bus) == -1 ? \ | |
e9b37512 | 31 | cpu_all_mask : \ |
9d079337 | 32 | cpumask_of_node(pcibus_to_node(bus))) |
f5e706ad | 33 | |
f5e706ad SR |
34 | #else /* CONFIG_NUMA */ |
35 | ||
36 | #include <asm-generic/topology.h> | |
37 | ||
38 | #endif /* !(CONFIG_NUMA) */ | |
39 | ||
40 | #ifdef CONFIG_SMP | |
41 | #define topology_physical_package_id(cpu) (cpu_data(cpu).proc_id) | |
42 | #define topology_core_id(cpu) (cpu_data(cpu).core_id) | |
acc455cf | 43 | #define topology_core_cpumask(cpu) (&cpu_core_sib_map[cpu]) |
78fd744f | 44 | #define topology_thread_cpumask(cpu) (&per_cpu(cpu_sibling_map, cpu)) |
f5e706ad SR |
45 | #endif /* CONFIG_SMP */ |
46 | ||
3905c54f | 47 | extern cpumask_t cpu_core_map[NR_CPUS]; |
acc455cf | 48 | extern cpumask_t cpu_core_sib_map[NR_CPUS]; |
3905c54f SR |
49 | static inline const struct cpumask *cpu_coregroup_mask(int cpu) |
50 | { | |
51 | return &cpu_core_map[cpu]; | |
52 | } | |
f5e706ad SR |
53 | |
54 | #endif /* _ASM_SPARC64_TOPOLOGY_H */ |