xref: /openbmc/linux/arch/mips/include/asm/mips_mt.h (revision 498495dba268b20e8eadd7fe93c140c68b6cc9d2)
1*b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
2384740dcSRalf Baechle /*
37a448b57SAndrea Gelmini  * Definitions and declarations for MIPS MT support that are common between
4b633648cSRalf Baechle  * the VSMP, and AP/SP kernel models.
5384740dcSRalf Baechle  */
6384740dcSRalf Baechle #ifndef __ASM_MIPS_MT_H
7384740dcSRalf Baechle #define __ASM_MIPS_MT_H
8384740dcSRalf Baechle 
9384740dcSRalf Baechle #include <linux/cpumask.h>
10384740dcSRalf Baechle 
11384740dcSRalf Baechle /*
12384740dcSRalf Baechle  * How many VPEs and TCs is Linux allowed to use?  0 means no limit.
13384740dcSRalf Baechle  */
14384740dcSRalf Baechle extern int tclimit;
15384740dcSRalf Baechle extern int vpelimit;
16384740dcSRalf Baechle 
17384740dcSRalf Baechle extern cpumask_t mt_fpu_cpumask;
18384740dcSRalf Baechle extern unsigned long mt_fpemul_threshold;
19384740dcSRalf Baechle 
20384740dcSRalf Baechle extern void mips_mt_regdump(unsigned long previous_mvpcontrol_value);
21d94c90f8SPaul Burton 
22d94c90f8SPaul Burton #ifdef CONFIG_MIPS_MT
23384740dcSRalf Baechle extern void mips_mt_set_cpuoptions(void);
24d94c90f8SPaul Burton #else
mips_mt_set_cpuoptions(void)25d94c90f8SPaul Burton static inline void mips_mt_set_cpuoptions(void) { }
26d94c90f8SPaul Burton #endif
27384740dcSRalf Baechle 
28384740dcSRalf Baechle struct class;
29384740dcSRalf Baechle extern struct class *mt_class;
30384740dcSRalf Baechle 
31384740dcSRalf Baechle #endif /* __ASM_MIPS_MT_H */
32