1 #ifndef _ASM_S390_TOPOLOGY_H
2 #define _ASM_S390_TOPOLOGY_H
4 #include <linux/cpumask.h>
5 #include <asm/sysinfo.h>
7 extern unsigned char cpu_core_id[NR_CPUS];
8 extern cpumask_t cpu_core_map[NR_CPUS];
10 static inline const struct cpumask *cpu_coregroup_mask(unsigned int cpu)
12 return &cpu_core_map[cpu];
15 #define topology_core_id(cpu) (cpu_core_id[cpu])
16 #define topology_core_cpumask(cpu) (&cpu_core_map[cpu])
17 #define mc_capable() (1)
19 #ifdef CONFIG_SCHED_BOOK
21 extern unsigned char cpu_book_id[NR_CPUS];
22 extern cpumask_t cpu_book_map[NR_CPUS];
24 static inline const struct cpumask *cpu_book_mask(unsigned int cpu)
26 return &cpu_book_map[cpu];
29 #define topology_book_id(cpu) (cpu_book_id[cpu])
30 #define topology_book_cpumask(cpu) (&cpu_book_map[cpu])
32 #endif /* CONFIG_SCHED_BOOK */
34 int topology_set_cpu_management(int fc);
35 void topology_schedule_update(void);
36 void store_topology(struct sysinfo_15_1_x *info);
38 #define POLARIZATION_UNKNWN (-1)
39 #define POLARIZATION_HRZ (0)
40 #define POLARIZATION_VL (1)
41 #define POLARIZATION_VM (2)
42 #define POLARIZATION_VH (3)
45 void s390_init_cpu_topology(void);
47 static inline void s390_init_cpu_topology(void)
52 #define SD_BOOK_INIT SD_CPU_INIT
54 #include <asm-generic/topology.h>
56 #endif /* _ASM_S390_TOPOLOGY_H */