1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * Definitions and declarations for MIPS MT support that are common between 4*4882a593Smuzhiyun * the VSMP, and AP/SP kernel models. 5*4882a593Smuzhiyun */ 6*4882a593Smuzhiyun #ifndef __ASM_MIPS_MT_H 7*4882a593Smuzhiyun #define __ASM_MIPS_MT_H 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun #include <linux/cpumask.h> 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun /* 12*4882a593Smuzhiyun * How many VPEs and TCs is Linux allowed to use? 0 means no limit. 13*4882a593Smuzhiyun */ 14*4882a593Smuzhiyun extern int tclimit; 15*4882a593Smuzhiyun extern int vpelimit; 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun extern cpumask_t mt_fpu_cpumask; 18*4882a593Smuzhiyun extern unsigned long mt_fpemul_threshold; 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun extern void mips_mt_regdump(unsigned long previous_mvpcontrol_value); 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun #ifdef CONFIG_MIPS_MT 23*4882a593Smuzhiyun extern void mips_mt_set_cpuoptions(void); 24*4882a593Smuzhiyun #else mips_mt_set_cpuoptions(void)25*4882a593Smuzhiyunstatic inline void mips_mt_set_cpuoptions(void) { } 26*4882a593Smuzhiyun #endif 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun struct class; 29*4882a593Smuzhiyun extern struct class *mt_class; 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun #endif /* __ASM_MIPS_MT_H */ 32