Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6
[pandora-kernel.git] / arch / s390 / include / asm / topology.h
1 #ifndef _ASM_S390_TOPOLOGY_H
2 #define _ASM_S390_TOPOLOGY_H
3
4 #include <linux/cpumask.h>
5
6 extern unsigned char cpu_core_id[NR_CPUS];
7 extern cpumask_t cpu_core_map[NR_CPUS];
8
9 static inline const struct cpumask *cpu_coregroup_mask(unsigned int cpu)
10 {
11         return &cpu_core_map[cpu];
12 }
13
14 #define topology_core_id(cpu)           (cpu_core_id[cpu])
15 #define topology_core_cpumask(cpu)      (&cpu_core_map[cpu])
16 #define mc_capable()                    (1)
17
18 #ifdef CONFIG_SCHED_BOOK
19
20 extern unsigned char cpu_book_id[NR_CPUS];
21 extern cpumask_t cpu_book_map[NR_CPUS];
22
23 static inline const struct cpumask *cpu_book_mask(unsigned int cpu)
24 {
25         return &cpu_book_map[cpu];
26 }
27
28 #define topology_book_id(cpu)           (cpu_book_id[cpu])
29 #define topology_book_cpumask(cpu)      (&cpu_book_map[cpu])
30
31 #endif /* CONFIG_SCHED_BOOK */
32
33 int topology_set_cpu_management(int fc);
34 void topology_schedule_update(void);
35
36 #define POLARIZATION_UNKNWN     (-1)
37 #define POLARIZATION_HRZ        (0)
38 #define POLARIZATION_VL         (1)
39 #define POLARIZATION_VM         (2)
40 #define POLARIZATION_VH         (3)
41
42 #ifdef CONFIG_SMP
43 void s390_init_cpu_topology(void);
44 #else
45 static inline void s390_init_cpu_topology(void)
46 {
47 };
48 #endif
49
50 #define SD_BOOK_INIT    SD_CPU_INIT
51
52 #include <asm-generic/topology.h>
53
54 #endif /* _ASM_S390_TOPOLOGY_H */