blob: b932237f2193ffbc874fdb33d261c0cdd9e47ce5 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
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 */