original_kernel/arch/sh/mm
Matt Fleming a781d1e5ff sh: Drop associative writes for SH-4 cache flushes.
When flushing/invalidating the icache/dcache via the memory-mapped IC/OC
address arrays, the associative bit should only be used in conjunction with
virtual addresses. However, we currently flush cache lines based on physical
address, so stop using the associative bit.

It is a better strategy to use non-associative writes (and physical tags) for
flushing the caches anyway, because flushing by virtual address (as with the
A-bit set) requires a valid TLB entry for that virtual address. If one does not
exist in the TLB no exception is generated and the flush is silently ignored.

This is also future-proofing for SH-4A parts which are gradually phasing out
associative writes to the cache array due to the aforementioned case of certain
flushes silently turning in to nops.

Signed-off-by: Matt Fleming <matt@console-pimps.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-12-04 16:18:11 +09:00
..
Kconfig sh: Enable PMB support for all SH-4A CPUs. 2009-11-11 10:56:13 +09:00
Makefile sh: Fold fixed-PMB support into dynamic PMB support 2009-10-10 21:52:34 +09:00
asids-debugfs.c
cache-debugfs.c
cache-sh2.c
cache-sh2a.c Revert "sh: Kill off now redundant local irq disabling." 2009-09-01 21:12:55 +09:00
cache-sh3.c
cache-sh4.c sh: Drop associative writes for SH-4 cache flushes. 2009-12-04 16:18:11 +09:00
cache-sh5.c sh64: Fix up reworked cache op build. 2009-11-12 17:03:28 +09:00
cache-sh7705.c sh: Obliterate the P1 area macros 2009-10-10 21:51:02 +09:00
cache.c sh: Partial revert of copy/clear_user_highpage() optimizations. 2009-12-04 15:14:52 +09:00
consistent.c sh: Bump up dma_ops initialization far earlier in the boot process. 2009-10-27 17:07:45 +09:00
extable_32.c
extable_64.c
fault_32.c perf: Do the big rename: Performance Counters -> Performance Events 2009-09-21 14:28:04 +02:00
fault_64.c
flush-sh4.c
hugetlbpage.c
init.c sh: Bump up dma_ops initialization far earlier in the boot process. 2009-10-27 17:07:45 +09:00
ioremap_32.c sh: Try PMB mapping based on physical address, not mapping size 2009-10-09 11:25:10 +09:00
ioremap_64.c
kmap.c sh: Factor in cpu id for selection of cache colour fixmap. 2009-09-09 17:14:19 +09:00
mmap.c
nommu.c sh: Fix up and optimize the kmap_coherent() interface. 2009-09-03 17:21:10 +09:00
numa.c sh: Make sure indexes are positive 2009-11-04 11:48:07 +09:00
pmb.c sh: Fold fixed-PMB support into dynamic PMB support 2009-10-10 21:52:34 +09:00
tlb-pteaex.c
tlb-sh3.c
tlb-sh4.c Merge branch 'master' into sh/smp 2009-09-01 13:54:14 +09:00
tlb-sh5.c
tlbflush_32.c
tlbflush_64.c perf: Do the big rename: Performance Counters -> Performance Events 2009-09-21 14:28:04 +02:00