]>
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 | |
52708d69 NG |
34 | int __node_distance(int, int); |
35 | #define node_distance(a, b) __node_distance(a, b) | |
36 | ||
f5e706ad SR |
37 | #else /* CONFIG_NUMA */ |
38 | ||
39 | #include <asm-generic/topology.h> | |
40 | ||
41 | #endif /* !(CONFIG_NUMA) */ | |
42 | ||
43 | #ifdef CONFIG_SMP | |
fc5e8c28 BH |
44 | |
45 | #include <asm/cpudata.h> | |
46 | ||
f5e706ad SR |
47 | #define topology_physical_package_id(cpu) (cpu_data(cpu).proc_id) |
48 | #define topology_core_id(cpu) (cpu_data(cpu).core_id) | |
acc455cf | 49 | #define topology_core_cpumask(cpu) (&cpu_core_sib_map[cpu]) |
d624716b | 50 | #define topology_core_cache_cpumask(cpu) (&cpu_core_sib_cache_map[cpu]) |
06931e62 | 51 | #define topology_sibling_cpumask(cpu) (&per_cpu(cpu_sibling_map, cpu)) |
f5e706ad SR |
52 | #endif /* CONFIG_SMP */ |
53 | ||
3905c54f | 54 | extern cpumask_t cpu_core_map[NR_CPUS]; |
acc455cf | 55 | extern cpumask_t cpu_core_sib_map[NR_CPUS]; |
d624716b AP |
56 | extern cpumask_t cpu_core_sib_cache_map[NR_CPUS]; |
57 | ||
58 | /** | |
59 | * Return cores that shares the last level cache. | |
60 | */ | |
3905c54f SR |
61 | static inline const struct cpumask *cpu_coregroup_mask(int cpu) |
62 | { | |
d624716b | 63 | return &cpu_core_sib_cache_map[cpu]; |
3905c54f | 64 | } |
f5e706ad SR |
65 | |
66 | #endif /* _ASM_SPARC64_TOPOLOGY_H */ |