Don't include linux/config.h from anywhere else in include/
[linux-2.6] / include / asm-powerpc / topology.h
1 #ifndef _ASM_POWERPC_TOPOLOGY_H
2 #define _ASM_POWERPC_TOPOLOGY_H
3 #ifdef __KERNEL__
4
5
6 #ifdef CONFIG_NUMA
7
8 #include <asm/mmzone.h>
9
10 static inline int cpu_to_node(int cpu)
11 {
12         return numa_cpu_lookup_table[cpu];
13 }
14
15 #define parent_node(node)       (node)
16
17 static inline cpumask_t node_to_cpumask(int node)
18 {
19         return numa_cpumask_lookup_table[node];
20 }
21
22 static inline int node_to_first_cpu(int node)
23 {
24         cpumask_t tmp;
25         tmp = node_to_cpumask(node);
26         return first_cpu(tmp);
27 }
28
29 #define pcibus_to_node(node)    (-1)
30 #define pcibus_to_cpumask(bus)  (cpu_online_map)
31
32 /* sched_domains SD_NODE_INIT for PPC64 machines */
33 #define SD_NODE_INIT (struct sched_domain) {            \
34         .span                   = CPU_MASK_NONE,        \
35         .parent                 = NULL,                 \
36         .groups                 = NULL,                 \
37         .min_interval           = 8,                    \
38         .max_interval           = 32,                   \
39         .busy_factor            = 32,                   \
40         .imbalance_pct          = 125,                  \
41         .cache_nice_tries       = 1,                    \
42         .per_cpu_gain           = 100,                  \
43         .busy_idx               = 3,                    \
44         .idle_idx               = 1,                    \
45         .newidle_idx            = 2,                    \
46         .wake_idx               = 1,                    \
47         .flags                  = SD_LOAD_BALANCE       \
48                                 | SD_BALANCE_EXEC       \
49                                 | SD_BALANCE_NEWIDLE    \
50                                 | SD_WAKE_IDLE          \
51                                 | SD_WAKE_BALANCE,      \
52         .last_balance           = jiffies,              \
53         .balance_interval       = 1,                    \
54         .nr_balance_failed      = 0,                    \
55 }
56
57 extern void __init dump_numa_cpu_topology(void);
58
59 #else
60
61 static inline void dump_numa_cpu_topology(void) {}
62
63 #include <asm-generic/topology.h>
64
65 #endif /* CONFIG_NUMA */
66
67 #endif /* __KERNEL__ */
68 #endif  /* _ASM_POWERPC_TOPOLOGY_H */