blob: b444523ecd500800cd2bf6ea5bc78c52fbaa6f88 [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001/* SPDX-License-Identifier: GPL-2.0 */
Ralf Baechle41c594a2006-04-05 09:45:45 +01002/*
Andrea Gelmini7a448b52016-05-21 14:00:33 +02003 * Definitions and declarations for MIPS MT support that are common between
Ralf Baechleb6336482014-05-23 16:29:44 +02004 * the VSMP, and AP/SP kernel models.
Ralf Baechle41c594a2006-04-05 09:45:45 +01005 */
6#ifndef __ASM_MIPS_MT_H
7#define __ASM_MIPS_MT_H
8
Ralf Baechle32fac802007-03-04 18:23:48 +00009#include <linux/cpumask.h>
10
Ralf Baechle07cc0c92007-07-27 19:31:10 +010011/*
12 * How many VPEs and TCs is Linux allowed to use? 0 means no limit.
13 */
14extern int tclimit;
15extern int vpelimit;
16
Ralf Baechle41c594a2006-04-05 09:45:45 +010017extern cpumask_t mt_fpu_cpumask;
18extern unsigned long mt_fpemul_threshold;
19
20extern void mips_mt_regdump(unsigned long previous_mvpcontrol_value);
Paul Burtond94c90f2014-03-24 10:19:25 +000021
22#ifdef CONFIG_MIPS_MT
Ralf Baechle41c594a2006-04-05 09:45:45 +010023extern void mips_mt_set_cpuoptions(void);
Paul Burtond94c90f2014-03-24 10:19:25 +000024#else
25static inline void mips_mt_set_cpuoptions(void) { }
26#endif
Ralf Baechle41c594a2006-04-05 09:45:45 +010027
Ralf Baechle27a3bba2007-02-07 13:48:59 +000028struct class;
29extern struct class *mt_class;
30
Ralf Baechle41c594a2006-04-05 09:45:45 +010031#endif /* __ASM_MIPS_MT_H */