linux/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
..
asids-debugfs.c sh: Update debugfs ASID dumping for 16-bit ASID support. 2009-03-17 17:59:31 +09:00
cache-debugfs.c
cache-sh2.c sh: Convert SH-2 to new cacheflush interface. 2009-08-15 12:35:15 +09:00
cache-sh2a.c Revert "sh: Kill off now redundant local irq disabling." 2009-09-01 21:12:55 +09:00
cache-sh3.c sh: Convert SH-3 to new cacheflush interface. 2009-08-15 12:42:55 +09:00
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 sh: Tidy up NEFF-based sign extension for SH-5. 2009-08-04 17:14:39 +09:00
flush-sh4.c sh: Fix up the SH-5 build with caches enabled. 2009-08-16 01:50:17 +09:00
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 sh: use printk_once 2009-08-13 11:48:08 +09:00
Kconfig sh: Enable PMB support for all SH-4A CPUs. 2009-11-11 10:56:13 +09:00
kmap.c sh: Factor in cpu id for selection of cache colour fixmap. 2009-09-09 17:14:19 +09:00
Makefile sh: Fold fixed-PMB support into dynamic PMB support 2009-10-10 21:52:34 +09:00
mmap.c sh: rework nommu for generic cache.c use. 2009-08-15 09:49:32 +09:00
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 sh: Handle a NULL vma in __update_tlb() for the fast-path. 2009-07-29 22:06:58 +09:00
tlb-sh3.c sh: Handle a NULL vma in __update_tlb() for the fast-path. 2009-07-29 22:06:58 +09:00
tlb-sh4.c Merge branch 'master' into sh/smp 2009-09-01 13:54:14 +09:00
tlb-sh5.c sh: Tidy up NEFF-based sign extension for SH-5. 2009-08-04 17:14:39 +09:00
tlbflush_32.c
tlbflush_64.c perf: Do the big rename: Performance Counters -> Performance Events 2009-09-21 14:28:04 +02:00