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