xref: /linux/arch/s390/include/asm/topology.h (revision 0c93ea4064a209cdc36de8a9a3003d43d08f46f7)
1 #ifndef _ASM_S390_TOPOLOGY_H
2 #define _ASM_S390_TOPOLOGY_H
3 
4 #include <linux/cpumask.h>
5 
6 #define mc_capable()	(1)
7 
8 cpumask_t cpu_coregroup_map(unsigned int cpu);
9 const struct cpumask *cpu_coregroup_mask(unsigned int cpu);
10 
11 extern cpumask_t cpu_core_map[NR_CPUS];
12 
13 #define topology_core_siblings(cpu)	(cpu_core_map[cpu])
14 #define topology_core_cpumask(cpu)	(&cpu_core_map[cpu])
15 
16 int topology_set_cpu_management(int fc);
17 void topology_schedule_update(void);
18 
19 #define POLARIZATION_UNKNWN	(-1)
20 #define POLARIZATION_HRZ	(0)
21 #define POLARIZATION_VL		(1)
22 #define POLARIZATION_VM		(2)
23 #define POLARIZATION_VH		(3)
24 
25 #ifdef CONFIG_SMP
26 void s390_init_cpu_topology(void);
27 #else
28 static inline void s390_init_cpu_topology(void)
29 {
30 };
31 #endif
32 
33 #define SD_MC_INIT SD_CPU_INIT
34 
35 #include <asm-generic/topology.h>
36 
37 #endif /* _ASM_S390_TOPOLOGY_H */
38