diff options
author | Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com> | 2008-08-07 13:54:59 +0900 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2008-10-31 16:29:20 +0900 |
commit | 216813a8bb4db97eb7a6e75c533894430053df48 (patch) | |
tree | 2a2511764fb68d01013639e47f815aeb488a75e9 /arch/sh | |
parent | 464f763d5aeac1c31f6c626afbc4ea086c78a7b4 (diff) | |
download | lwn-216813a8bb4db97eb7a6e75c533894430053df48.tar.gz lwn-216813a8bb4db97eb7a6e75c533894430053df48.zip |
sh: fix sh2a cache entry_mask
fix sh2a cache entry_mask in __flush_{purge,invalidate}_region.
Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh')
-rw-r--r-- | arch/sh/mm/cache-sh2a.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/sh/mm/cache-sh2a.c b/arch/sh/mm/cache-sh2a.c index 62c0c5f35120..24d86a794065 100644 --- a/arch/sh/mm/cache-sh2a.c +++ b/arch/sh/mm/cache-sh2a.c @@ -59,7 +59,7 @@ void __flush_purge_region(void *start, int size) for (v = begin; v < end; v+=L1_CACHE_BYTES) { ctrl_outl((v & CACHE_PHYSADDR_MASK), - CACHE_OC_ADDRESS_ARRAY | (v & 0x000003f0) | 0x00000008); + CACHE_OC_ADDRESS_ARRAY | (v & 0x000007f0) | 0x00000008); } back_to_cached(); local_irq_restore(flags); @@ -82,14 +82,14 @@ void __flush_invalidate_region(void *start, int size) /* I-cache invalidate */ for (v = begin; v < end; v+=L1_CACHE_BYTES) { ctrl_outl((v & CACHE_PHYSADDR_MASK), - CACHE_IC_ADDRESS_ARRAY | (v & 0x000003f0) | 0x00000008); + CACHE_IC_ADDRESS_ARRAY | (v & 0x000007f0) | 0x00000008); } #else for (v = begin; v < end; v+=L1_CACHE_BYTES) { ctrl_outl((v & CACHE_PHYSADDR_MASK), - CACHE_IC_ADDRESS_ARRAY | (v & 0x000003f0) | 0x00000008); + CACHE_IC_ADDRESS_ARRAY | (v & 0x000007f0) | 0x00000008); ctrl_outl((v & CACHE_PHYSADDR_MASK), - CACHE_OC_ADDRESS_ARRAY | (v & 0x000003f0) | 0x00000008); + CACHE_OC_ADDRESS_ARRAY | (v & 0x000007f0) | 0x00000008); } #endif back_to_cached(); |