1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun /* $Id: cache.h,v 1.6 2004/03/11 18:08:05 lethal Exp $ 3*4882a593Smuzhiyun * 4*4882a593Smuzhiyun * include/asm-sh/cache.h 5*4882a593Smuzhiyun * 6*4882a593Smuzhiyun * Copyright 1999 (C) Niibe Yutaka 7*4882a593Smuzhiyun * Copyright 2002, 2003 (C) Paul Mundt 8*4882a593Smuzhiyun */ 9*4882a593Smuzhiyun #ifndef __ASM_SH_CACHE_H 10*4882a593Smuzhiyun #define __ASM_SH_CACHE_H 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun #include <linux/init.h> 13*4882a593Smuzhiyun #include <cpu/cache.h> 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun #define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT) 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun #define __read_mostly __section(".data..read_mostly") 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun #ifndef __ASSEMBLY__ 20*4882a593Smuzhiyun struct cache_info { 21*4882a593Smuzhiyun unsigned int ways; /* Number of cache ways */ 22*4882a593Smuzhiyun unsigned int sets; /* Number of cache sets */ 23*4882a593Smuzhiyun unsigned int linesz; /* Cache line size (bytes) */ 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun unsigned int way_size; /* sets * line size */ 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun /* 28*4882a593Smuzhiyun * way_incr is the address offset for accessing the next way 29*4882a593Smuzhiyun * in memory mapped cache array ops. 30*4882a593Smuzhiyun */ 31*4882a593Smuzhiyun unsigned int way_incr; 32*4882a593Smuzhiyun unsigned int entry_shift; 33*4882a593Smuzhiyun unsigned int entry_mask; 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun /* 36*4882a593Smuzhiyun * Compute a mask which selects the address bits which overlap between 37*4882a593Smuzhiyun * 1. those used to select the cache set during indexing 38*4882a593Smuzhiyun * 2. those in the physical page number. 39*4882a593Smuzhiyun */ 40*4882a593Smuzhiyun unsigned int alias_mask; 41*4882a593Smuzhiyun unsigned int n_aliases; /* Number of aliases */ 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun unsigned long flags; 44*4882a593Smuzhiyun }; 45*4882a593Smuzhiyun #endif /* __ASSEMBLY__ */ 46*4882a593Smuzhiyun #endif /* __ASM_SH_CACHE_H */ 47