linux/arch/arc/mm
Vineet Gupta 7586bf7286 ARC: [mm] optimise icache flush for kernel mappings
This change continues the theme from prev commit - this time icache
handling for kernel's own code modification (vmalloc: loadable modules,
breakpoints for kprobes/kgdb...)

flush_icache_range() calls the CDU icache helper with vaddr to enable
exact line invalidate.

For a true kernel-virtual mapping, the vaddr is actually virtual hence
valid as index into cache. For kprobes breakpoint however, the vaddr arg
is actually paddr - since that's how normal kernel is mapped in ARC
memory map.  This implies that CDU will use the same addr for
indexing as for tag match - which is fine since kernel code would only
have that "implicit" mapping and none other.

This should speed up module loading significantly - specially on default
ARC700 icache configurations (32k) which alias.

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2013-05-07 19:08:12 +05:30
..
cache_arc700.c ARC: [mm] optimise icache flush for kernel mappings 2013-05-07 19:08:12 +05:30
dma.c ARC: I/O and DMA Mappings 2013-02-15 23:15:54 +05:30
extable.c ARC: Fix coding style issues 2013-04-09 12:21:14 +05:30
fault.c ARC: Remove unneeded version.h header include 2013-04-09 12:21:14 +05:30
init.c ARC: remove #ifdef-ed out include of dead header 2013-04-09 12:21:15 +05:30
ioremap.c ARC: Use <linux/*> headers instead of <asm/*> 2013-04-09 12:21:14 +05:30
Makefile
tlb.c ARC: [mm] optimise icache flush for user mappings 2013-05-07 19:08:12 +05:30
tlbex.S ARC: Support for single cycle Close Coupled Mem (CCM) 2013-02-15 23:16:10 +05:30