18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Definitions and declarations for MIPS MT support that are common between 48c2ecf20Sopenharmony_ci * the VSMP, and AP/SP kernel models. 58c2ecf20Sopenharmony_ci */ 68c2ecf20Sopenharmony_ci#ifndef __ASM_MIPS_MT_H 78c2ecf20Sopenharmony_ci#define __ASM_MIPS_MT_H 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ci#include <linux/cpumask.h> 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ci/* 128c2ecf20Sopenharmony_ci * How many VPEs and TCs is Linux allowed to use? 0 means no limit. 138c2ecf20Sopenharmony_ci */ 148c2ecf20Sopenharmony_ciextern int tclimit; 158c2ecf20Sopenharmony_ciextern int vpelimit; 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_ciextern cpumask_t mt_fpu_cpumask; 188c2ecf20Sopenharmony_ciextern unsigned long mt_fpemul_threshold; 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ciextern void mips_mt_regdump(unsigned long previous_mvpcontrol_value); 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ci#ifdef CONFIG_MIPS_MT 238c2ecf20Sopenharmony_ciextern void mips_mt_set_cpuoptions(void); 248c2ecf20Sopenharmony_ci#else 258c2ecf20Sopenharmony_cistatic inline void mips_mt_set_cpuoptions(void) { } 268c2ecf20Sopenharmony_ci#endif 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_cistruct class; 298c2ecf20Sopenharmony_ciextern struct class *mt_class; 308c2ecf20Sopenharmony_ci 318c2ecf20Sopenharmony_ci#endif /* __ASM_MIPS_MT_H */ 32