fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / include / asm-sh / cache.h
index 656fdfe..e3a180c 100644 (file)
@@ -10,7 +10,6 @@
 #ifdef __KERNEL__
 
 #include <asm/cpu/cache.h>
-#include <asm/cpu/cacheflush.h>
 
 #define SH_CACHE_VALID         1
 #define SH_CACHE_UPDATED       2
 #define L1_CACHE_ALIGN(x)      (((x)+(L1_CACHE_BYTES-1))&~(L1_CACHE_BYTES-1))
 
 struct cache_info {
-       unsigned int ways;
-       unsigned int sets;
-       unsigned int linesz;
+       unsigned int ways;              /* Number of cache ways */
+       unsigned int sets;              /* Number of cache sets */
+       unsigned int linesz;            /* Cache line size (bytes) */
 
-       unsigned int way_incr;
+       unsigned int way_size;          /* sets * line size */
 
+       /*
+        * way_incr is the address offset for accessing the next way
+        * in memory mapped cache array ops.
+        */
+       unsigned int way_incr;
        unsigned int entry_shift;
        unsigned int entry_mask;
 
+       /*
+        * Compute a mask which selects the address bits which overlap between
+        * 1. those used to select the cache set during indexing
+        * 2. those in the physical page number.
+        */
+       unsigned int alias_mask;
+
+       unsigned int n_aliases;         /* Number of aliases */
+
        unsigned long flags;
 };
 
-/* Flush (write-back only) a region (smaller than a page) */
-extern void __flush_wback_region(void *start, int size);
-/* Flush (write-back & invalidate) a region (smaller than a page) */
-extern void __flush_purge_region(void *start, int size);
-/* Flush (invalidate only) a region (smaller than a page) */
-extern void __flush_invalidate_region(void *start, int size);
-
 #endif /* __KERNEL__ */
 #endif /* __ASM_SH_CACHE_H */