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) 1997, 98, 99, 2000 Ralf Baechle
7 * Copyright (C) 1999 Silicon Graphics, Inc.
8 */
9#ifndef _ASM_CACHE_H
10#define _ASM_CACHE_H
11
12#include <linux/config.h>
13
14#ifndef __ASSEMBLY__
15/*
16 * Descriptor for a cache
17 */
18struct cache_desc {
19	int linesz;
20	int sets;
21	int ways;
22	int flags;	/* Details like write thru/back, coherent, etc. */
23};
24#endif /* !__ASSEMBLY__ */
25
26/*
27 * Flag definitions
28 */
29#define MIPS_CACHE_NOT_PRESENT 0x00000001
30#define MIPS_CACHE_VTAG_CACHE  0x00000002 /* Virtually tagged cache. */
31
32#if defined(CONFIG_CPU_R3000) || defined(CONFIG_CPU_R6000) || defined(CONFIG_CPU_TX39XX)
33#define L1_CACHE_BYTES		16
34#else
35#define L1_CACHE_BYTES 		32	/* A guess */
36#endif
37
38#define SMP_CACHE_BYTES		L1_CACHE_BYTES
39
40#endif /* _ASM_CACHE_H */
41