Linux-2.6.12-rc2
[safe/jmp/linux-2.6] / include / asm-mips / mach-ip32 / cpu-feature-overrides.h
1 /*
2  * This file is subject to the terms and conditions of the GNU General Public
3  * License.  See the file "COPYING" in the main directory of this archive
4  * for more details.
5  *
6  * Copyright (C) 2005 Ilya A. Volynets-Evenbakh
7  * Copyright (C) 2005 Ralf Baechle (ralf@linux-mips.org)
8  */
9 #ifndef __ASM_MACH_IP32_CPU_FEATURE_OVERRIDES_H
10 #define __ASM_MACH_IP32_CPU_FEATURE_OVERRIDES_H
11
12 #include <linux/config.h>
13
14 /*
15  * R5000 has an interesting "restriction":  ll(d)/sc(d)
16  * instructions to XKPHYS region simply do uncached bus
17  * requests. This breaks all the atomic bitops functions.
18  * so, for 64bit IP32 kernel we just don't use ll/sc.
19  * This does not affect luserland.
20  */
21 #if defined(CONFIG_CPU_R5000) && defined(CONFIG_MIPS64)
22 #define cpu_has_llsc            0
23 #else
24 #define cpu_has_llsc            1
25 #endif
26
27 /* Settings which are common for all ip32 CPUs */
28 #define cpu_has_tlb             1
29 #define cpu_has_4kex            1
30 #define cpu_has_fpu             1
31 #define cpu_has_32fpr           1
32 #define cpu_has_counter         1
33 #define cpu_has_mips16          0
34 #define cpu_has_vce             0
35 #define cpu_has_cache_cdex_s    0
36 #define cpu_has_mcheck          0
37 #define cpu_has_ejtag           0
38 #define cpu_has_vtag_icache     0
39 #define cpu_has_ic_fills_f_dc   0
40
41 #endif /* __ASM_MACH_IP32_CPU_FEATURE_OVERRIDES_H */