162306a36Sopenharmony_ci/* 262306a36Sopenharmony_ci * This file is subject to the terms and conditions of the GNU General Public 362306a36Sopenharmony_ci * License. See the file "COPYING" in the main directory of this archive 462306a36Sopenharmony_ci * for more details. 562306a36Sopenharmony_ci * 662306a36Sopenharmony_ci * Copyright (C) 2005 Ilya A. Volynets-Evenbakh 762306a36Sopenharmony_ci * Copyright (C) 2005, 07 Ralf Baechle (ralf@linux-mips.org) 862306a36Sopenharmony_ci */ 962306a36Sopenharmony_ci#ifndef __ASM_MACH_IP32_CPU_FEATURE_OVERRIDES_H 1062306a36Sopenharmony_ci#define __ASM_MACH_IP32_CPU_FEATURE_OVERRIDES_H 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci/* 1462306a36Sopenharmony_ci * R5000 has an interesting "restriction": ll(d)/sc(d) 1562306a36Sopenharmony_ci * instructions to XKPHYS region simply do uncached bus 1662306a36Sopenharmony_ci * requests. This breaks all the atomic bitops functions. 1762306a36Sopenharmony_ci * so, for 64bit IP32 kernel we just don't use ll/sc. 1862306a36Sopenharmony_ci * This does not affect luserland. 1962306a36Sopenharmony_ci */ 2062306a36Sopenharmony_ci#if (defined(CONFIG_CPU_R5000) || defined(CONFIG_CPU_NEVADA)) && defined(CONFIG_64BIT) 2162306a36Sopenharmony_ci#define cpu_has_llsc 0 2262306a36Sopenharmony_ci#else 2362306a36Sopenharmony_ci#define cpu_has_llsc 1 2462306a36Sopenharmony_ci#endif 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci/* Settings which are common for all ip32 CPUs */ 2762306a36Sopenharmony_ci#define cpu_has_tlb 1 2862306a36Sopenharmony_ci#define cpu_has_4kex 1 2962306a36Sopenharmony_ci#define cpu_has_32fpr 1 3062306a36Sopenharmony_ci#define cpu_has_counter 1 3162306a36Sopenharmony_ci#define cpu_has_mips16 0 3262306a36Sopenharmony_ci#define cpu_has_mips16e2 0 3362306a36Sopenharmony_ci#define cpu_has_vce 0 3462306a36Sopenharmony_ci#define cpu_has_cache_cdex_s 0 3562306a36Sopenharmony_ci#define cpu_has_mcheck 0 3662306a36Sopenharmony_ci#define cpu_has_ejtag 0 3762306a36Sopenharmony_ci#define cpu_has_vtag_icache 0 3862306a36Sopenharmony_ci#define cpu_has_ic_fills_f_dc 0 3962306a36Sopenharmony_ci#define cpu_has_dsp 0 4062306a36Sopenharmony_ci#define cpu_has_dsp2 0 4162306a36Sopenharmony_ci#define cpu_has_4k_cache 1 4262306a36Sopenharmony_ci#define cpu_has_mipsmt 0 4362306a36Sopenharmony_ci#define cpu_has_userlocal 0 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_ci#define cpu_has_mips32r1 0 4762306a36Sopenharmony_ci#define cpu_has_mips32r2 0 4862306a36Sopenharmony_ci#define cpu_has_mips64r1 0 4962306a36Sopenharmony_ci#define cpu_has_mips64r2 0 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_ci#endif /* __ASM_MACH_IP32_CPU_FEATURE_OVERRIDES_H */ 52