xref: /openbmc/linux/arch/s390/include/asm/topology.h (revision 5d4a2e29)
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 unsigned char cpu_core_id[NR_CPUS];
11 extern cpumask_t cpu_core_map[NR_CPUS];
12 
13 #define topology_core_id(cpu)		(cpu_core_id[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