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