1 #ifndef _ASM_S390_TOPOLOGY_H
2 #define _ASM_S390_TOPOLOGY_H
4 #include <linux/cpumask.h>
6 extern unsigned char cpu_core_id[NR_CPUS];
7 extern cpumask_t cpu_core_map[NR_CPUS];
9 static inline const struct cpumask *cpu_coregroup_mask(unsigned int cpu)
11 return &cpu_core_map[cpu];
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)
18 #ifdef CONFIG_SCHED_BOOK
20 extern unsigned char cpu_book_id[NR_CPUS];
21 extern cpumask_t cpu_book_map[NR_CPUS];
23 static inline const struct cpumask *cpu_book_mask(unsigned int cpu)
25 return &cpu_book_map[cpu];
28 #define topology_book_id(cpu) (cpu_book_id[cpu])
29 #define topology_book_cpumask(cpu) (&cpu_book_map[cpu])
31 #endif /* CONFIG_SCHED_BOOK */
33 int topology_set_cpu_management(int fc);
34 void topology_schedule_update(void);
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)
43 void s390_init_cpu_topology(void);
45 static inline void s390_init_cpu_topology(void)
50 #define SD_BOOK_INIT SD_CPU_INIT
52 #include <asm-generic/topology.h>
54 #endif /* _ASM_S390_TOPOLOGY_H */