1*4882a593Smuzhiyun /* 2*4882a593Smuzhiyun * This file is subject to the terms and conditions of the GNU General Public 3*4882a593Smuzhiyun * License. See the file "COPYING" in the main directory of this archive 4*4882a593Smuzhiyun * for more details. 5*4882a593Smuzhiyun * 6*4882a593Smuzhiyun * Copyright (C) 2005 Ilya A. Volynets-Evenbakh 7*4882a593Smuzhiyun * Copyright (C) 2005, 07 Ralf Baechle (ralf@linux-mips.org) 8*4882a593Smuzhiyun */ 9*4882a593Smuzhiyun #ifndef __ASM_MACH_IP32_CPU_FEATURE_OVERRIDES_H 10*4882a593Smuzhiyun #define __ASM_MACH_IP32_CPU_FEATURE_OVERRIDES_H 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun /* 14*4882a593Smuzhiyun * R5000 has an interesting "restriction": ll(d)/sc(d) 15*4882a593Smuzhiyun * instructions to XKPHYS region simply do uncached bus 16*4882a593Smuzhiyun * requests. This breaks all the atomic bitops functions. 17*4882a593Smuzhiyun * so, for 64bit IP32 kernel we just don't use ll/sc. 18*4882a593Smuzhiyun * This does not affect luserland. 19*4882a593Smuzhiyun */ 20*4882a593Smuzhiyun #if (defined(CONFIG_CPU_R5000) || defined(CONFIG_CPU_NEVADA)) && defined(CONFIG_64BIT) 21*4882a593Smuzhiyun #define cpu_has_llsc 0 22*4882a593Smuzhiyun #else 23*4882a593Smuzhiyun #define cpu_has_llsc 1 24*4882a593Smuzhiyun #endif 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun /* Settings which are common for all ip32 CPUs */ 27*4882a593Smuzhiyun #define cpu_has_tlb 1 28*4882a593Smuzhiyun #define cpu_has_4kex 1 29*4882a593Smuzhiyun #define cpu_has_32fpr 1 30*4882a593Smuzhiyun #define cpu_has_counter 1 31*4882a593Smuzhiyun #define cpu_has_mips16 0 32*4882a593Smuzhiyun #define cpu_has_mips16e2 0 33*4882a593Smuzhiyun #define cpu_has_vce 0 34*4882a593Smuzhiyun #define cpu_has_cache_cdex_s 0 35*4882a593Smuzhiyun #define cpu_has_mcheck 0 36*4882a593Smuzhiyun #define cpu_has_ejtag 0 37*4882a593Smuzhiyun #define cpu_has_vtag_icache 0 38*4882a593Smuzhiyun #define cpu_has_ic_fills_f_dc 0 39*4882a593Smuzhiyun #define cpu_has_dsp 0 40*4882a593Smuzhiyun #define cpu_has_dsp2 0 41*4882a593Smuzhiyun #define cpu_has_4k_cache 1 42*4882a593Smuzhiyun #define cpu_has_mipsmt 0 43*4882a593Smuzhiyun #define cpu_has_userlocal 0 44*4882a593Smuzhiyun 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun #define cpu_has_mips32r1 0 47*4882a593Smuzhiyun #define cpu_has_mips32r2 0 48*4882a593Smuzhiyun #define cpu_has_mips64r1 0 49*4882a593Smuzhiyun #define cpu_has_mips64r2 0 50*4882a593Smuzhiyun 51*4882a593Smuzhiyun #endif /* __ASM_MACH_IP32_CPU_FEATURE_OVERRIDES_H */ 52