git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
VServer 1.9.2 (patch-2.6.8.1-vs1.9.2.diff)
[linux-2.6.git]
/
arch
/
sh
/
mm
/
cache-sh3.c
diff --git
a/arch/sh/mm/cache-sh3.c
b/arch/sh/mm/cache-sh3.c
index
cb6c0c0
..
b03d5e4
100644
(file)
--- a/
arch/sh/mm/cache-sh3.c
+++ b/
arch/sh/mm/cache-sh3.c
@@
-1,4
+1,4
@@
-/* $Id: cache-sh3.c,v 1.
8 2004/02/01 16:26:27 lethal
Exp $
+/* $Id: cache-sh3.c,v 1.
9 2004/05/02 01:46:30 sugioka
Exp $
*
* linux/arch/sh/mm/cache-sh3.c
*
*
* linux/arch/sh/mm/cache-sh3.c
*
@@
-65,14
+65,14
@@
int __init detect_cpu_and_cache_system(void)
* 2K(direct) 7702 is not supported (yet)
*/
if (data0 == data1 && data2 == data3) { /* Shadow */
* 2K(direct) 7702 is not supported (yet)
*/
if (data0 == data1 && data2 == data3) { /* Shadow */
- cpu_data->dcache.way_
shift = 11
;
+ cpu_data->dcache.way_
incr = (1 << 11)
;
cpu_data->dcache.entry_mask = 0x7f0;
cpu_data->dcache.sets = 128;
cpu_data->type = CPU_SH7708;
cpu_data->dcache.entry_mask = 0x7f0;
cpu_data->dcache.sets = 128;
cpu_data->type = CPU_SH7708;
-
set_bit(CPU_HAS_MMU_PAGE_ASSOC, &(cpu_data->flags))
;
+
cpu_data->flags |= CPU_HAS_MMU_PAGE_ASSOC
;
} else { /* 7709A or 7729 */
} else { /* 7709A or 7729 */
- cpu_data->dcache.way_
shift = 12
;
+ cpu_data->dcache.way_
incr = (1 << 12)
;
cpu_data->dcache.entry_mask = 0xff0;
cpu_data->dcache.sets = 256;
cpu_data->type = CPU_SH7729;
cpu_data->dcache.entry_mask = 0xff0;
cpu_data->dcache.sets = 256;
cpu_data->type = CPU_SH7729;
@@
-108,13
+108,12
@@
void __flush_wback_region(void *start, int size)
& ~(L1_CACHE_BYTES-1);
for (v = begin; v < end; v+=L1_CACHE_BYTES) {
& ~(L1_CACHE_BYTES-1);
for (v = begin; v < end; v+=L1_CACHE_BYTES) {
+ unsigned long addrstart = CACHE_OC_ADDRESS_ARRAY;
for (j = 0; j < cpu_data->dcache.ways; j++) {
unsigned long data, addr, p;
p = __pa(v);
for (j = 0; j < cpu_data->dcache.ways; j++) {
unsigned long data, addr, p;
p = __pa(v);
- addr = CACHE_OC_ADDRESS_ARRAY |
- (j << cpu_data->dcache.way_shift)|
- (v & cpu_data->dcache.entry_mask);
+ addr = addrstart | (v & cpu_data->dcache.entry_mask);
local_irq_save(flags);
data = ctrl_inl(addr);
local_irq_save(flags);
data = ctrl_inl(addr);
@@
-126,6
+125,7
@@
void __flush_wback_region(void *start, int size)
break;
}
local_irq_restore(flags);
break;
}
local_irq_restore(flags);
+ addrstart += cpu_data->dcache.way_incr;
}
}
}
}
}
}