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) 2013 Cavium, Inc.
7 */
8#ifndef __ASM_MACH_PARAVIRT_CPU_FEATURE_OVERRIDES_H
9#define __ASM_MACH_PARAVIRT_CPU_FEATURE_OVERRIDES_H
10
11#define cpu_has_4kex		1
12#define cpu_has_3k_cache	0
13#define cpu_has_tx39_cache	0
14#define cpu_has_counter		1
15#define cpu_has_llsc		1
16/*
17 * We Disable LL/SC on non SMP systems as it is faster to disable
18 * interrupts for atomic access than a LL/SC.
19 */
20#ifdef CONFIG_SMP
21# define kernel_uses_llsc	1
22#else
23# define kernel_uses_llsc	0
24#endif
25
26#ifdef CONFIG_CPU_CAVIUM_OCTEON
27#define cpu_dcache_line_size()	128
28#define cpu_icache_line_size()	128
29#define cpu_has_octeon_cache	1
30#define cpu_has_4k_cache	0
31#else
32#define cpu_has_octeon_cache	0
33#define cpu_has_4k_cache	1
34#endif
35
36#endif /* __ASM_MACH_PARAVIRT_CPU_FEATURE_OVERRIDES_H */
37