blob: f6ba004a7711f0851bc3e31862dd3416ea24d92e [file] [log] [blame]
Ralf Baechle41c594a2006-04-05 09:45:45 +01001/*
Ralf Baechleb633648c52014-05-23 16:29:44 +02002 * Definitions and decalrations for MIPS MT support that are common between
3 * the VSMP, and AP/SP kernel models.
Ralf Baechle41c594a2006-04-05 09:45:45 +01004 */
5#ifndef __ASM_MIPS_MT_H
6#define __ASM_MIPS_MT_H
7
Ralf Baechle32fac802007-03-04 18:23:48 +00008#include <linux/cpumask.h>
9
Ralf Baechle07cc0c92007-07-27 19:31:10 +010010/*
11 * How many VPEs and TCs is Linux allowed to use? 0 means no limit.
12 */
13extern int tclimit;
14extern int vpelimit;
15
Ralf Baechle41c594a2006-04-05 09:45:45 +010016extern cpumask_t mt_fpu_cpumask;
17extern unsigned long mt_fpemul_threshold;
18
19extern void mips_mt_regdump(unsigned long previous_mvpcontrol_value);
Paul Burtond94c90f2014-03-24 10:19:25 +000020
21#ifdef CONFIG_MIPS_MT
Ralf Baechle41c594a2006-04-05 09:45:45 +010022extern void mips_mt_set_cpuoptions(void);
Paul Burtond94c90f2014-03-24 10:19:25 +000023#else
24static inline void mips_mt_set_cpuoptions(void) { }
25#endif
Ralf Baechle41c594a2006-04-05 09:45:45 +010026
Ralf Baechle27a3bba2007-02-07 13:48:59 +000027struct class;
28extern struct class *mt_class;
29
Ralf Baechle41c594a2006-04-05 09:45:45 +010030#endif /* __ASM_MIPS_MT_H */