android_kernel_samsung_msm8976/arch/arm/mm
Catalin Marinas 6012191aa9 ARM: 6380/1: Introduce __sync_icache_dcache() for VIPT caches
On SMP systems, there is a small chance of a PTE becoming visible to a
different CPU before the current cache maintenance operations in
update_mmu_cache(). To avoid this, cache maintenance must be handled in
set_pte_at() (similar to IA-64 and PowerPC).

This patch provides a unified VIPT cache handling mechanism and
implements the __sync_icache_dcache() function for ARMv6 onwards
architectures. It is called from set_pte_at() and replaces the
update_mmu_cache(). The latter is still used on VIVT hardware where a
vm_area_struct is required.

Tested-by: Rabin Vincent <rabin.vincent@stericsson.com>
Cc: Nicolas Pitre <nicolas.pitre@linaro.org>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2010-09-19 12:17:44 +01:00
..
abort-ev4.S
abort-ev4t.S
abort-ev5t.S
abort-ev5tj.S
abort-ev6.S
abort-ev7.S
abort-lv4t.S
abort-macro.S
abort-nommu.S
alignment.c ARM: 6268/1: ARMv6K and ARMv7 use fault statuses 3 and 6 as Access Flag fault 2010-07-27 10:48:41 +01:00
cache-fa.S
cache-feroceon-l2.c
cache-l2x0.c ARM: 6272/1: Convert L2x0 to use the IO relaxed operations 2010-07-29 14:04:36 +01:00
cache-tauros2.c
cache-v3.S
cache-v4.S
cache-v4wb.S
cache-v4wt.S
cache-v6.S ARM: 6188/1: Add a config option for the ARM11MPCore DMA cache maintenance workaround 2010-07-01 10:12:31 +01:00
cache-v7.S
cache-xsc3l2.c
context.c
copypage-fa.c
copypage-feroceon.c
copypage-v3.c
copypage-v4mc.c ARM: 6379/1: Assume new page cache pages have dirty D-cache 2010-09-19 12:17:43 +01:00
copypage-v4wb.c
copypage-v4wt.c
copypage-v6.c ARM: 6379/1: Assume new page cache pages have dirty D-cache 2010-09-19 12:17:43 +01:00
copypage-xsc3.c
copypage-xscale.c ARM: 6379/1: Assume new page cache pages have dirty D-cache 2010-09-19 12:17:43 +01:00
dma-mapping.c ARM: 6379/1: Assume new page cache pages have dirty D-cache 2010-09-19 12:17:43 +01:00
extable.c
fault-armv.c ARM: 6380/1: Introduce __sync_icache_dcache() for VIPT caches 2010-09-19 12:17:44 +01:00
fault.c ARM: 6268/1: ARMv6K and ARMv7 use fault statuses 3 and 6 as Access Flag fault 2010-07-27 10:48:41 +01:00
fault.h
flush.c ARM: 6380/1: Introduce __sync_icache_dcache() for VIPT caches 2010-09-19 12:17:44 +01:00
highmem.c kmap_atomic: make kunmap_atomic() harder to misuse 2010-08-09 20:44:54 -07:00
init.c Merge branch 'devel-stable' into devel 2010-07-31 14:20:16 +01:00
iomap.c
ioremap.c ARM: use generic ioremap_page_range() 2010-07-27 10:43:47 +01:00
Kconfig ARM: 6344/1: Mark CPU_32v6K as depended on CPU_V7 2010-09-02 15:32:13 +01:00
Makefile ARM: Remove DISCONTIGMEM support 2010-07-16 10:57:35 +01:00
mm.h ARM: Convert platform reservations to use LMB rather than bootmem 2010-07-27 08:48:23 +01:00
mmap.c
mmu.c Merge branch 'misc' into devel 2010-07-31 14:20:02 +01:00
nommu.c ARM: Convert platform reservations to use LMB rather than bootmem 2010-07-27 08:48:23 +01:00
pabort-legacy.S
pabort-v6.S
pabort-v7.S
pgd.c
proc-arm6_7.S ARM: Factor out common code from cpu_proc_fin() 2010-07-27 10:48:42 +01:00
proc-arm7tdmi.S ARM: Factor out common code from cpu_proc_fin() 2010-07-27 10:48:42 +01:00
proc-arm9tdmi.S ARM: Factor out common code from cpu_proc_fin() 2010-07-27 10:48:42 +01:00
proc-arm720.S ARM: Factor out common code from cpu_proc_fin() 2010-07-27 10:48:42 +01:00
proc-arm740.S ARM: Factor out common code from cpu_proc_fin() 2010-07-27 10:48:42 +01:00
proc-arm920.S ARM: Factor out common code from cpu_proc_fin() 2010-07-27 10:48:42 +01:00
proc-arm922.S ARM: Factor out common code from cpu_proc_fin() 2010-07-27 10:48:42 +01:00
proc-arm925.S ARM: Factor out common code from cpu_proc_fin() 2010-07-27 10:48:42 +01:00
proc-arm926.S ARM: Factor out common code from cpu_proc_fin() 2010-07-27 10:48:42 +01:00
proc-arm940.S ARM: Factor out common code from cpu_proc_fin() 2010-07-27 10:48:42 +01:00
proc-arm946.S ARM: Factor out common code from cpu_proc_fin() 2010-07-27 10:48:42 +01:00
proc-arm1020.S ARM: Factor out common code from cpu_proc_fin() 2010-07-27 10:48:42 +01:00
proc-arm1020e.S ARM: Factor out common code from cpu_proc_fin() 2010-07-27 10:48:42 +01:00
proc-arm1022.S ARM: Factor out common code from cpu_proc_fin() 2010-07-27 10:48:42 +01:00
proc-arm1026.S ARM: Factor out common code from cpu_proc_fin() 2010-07-27 10:48:42 +01:00
proc-fa526.S ARM: Factor out common code from cpu_proc_fin() 2010-07-27 10:48:42 +01:00
proc-feroceon.S ARM: Factor out common code from cpu_proc_fin() 2010-07-27 10:48:42 +01:00
proc-macros.S
proc-mohawk.S ARM: Factor out common code from cpu_proc_fin() 2010-07-27 10:48:42 +01:00
proc-sa110.S ARM: Factor out common code from cpu_proc_fin() 2010-07-27 10:48:42 +01:00
proc-sa1100.S ARM: Factor out common code from cpu_proc_fin() 2010-07-27 10:48:42 +01:00
proc-syms.c
proc-v6.S ARM: Factor out common code from cpu_proc_fin() 2010-07-27 10:48:42 +01:00
proc-v7.S ARM: Factor out common code from cpu_proc_fin() 2010-07-27 10:48:42 +01:00
proc-xsc3.S ARM: Factor out common code from cpu_proc_fin() 2010-07-27 10:48:42 +01:00
proc-xscale.S ARM: Factor out common code from cpu_proc_fin() 2010-07-27 10:48:42 +01:00
tlb-fa.S
tlb-v3.S
tlb-v4.S
tlb-v4wb.S
tlb-v4wbi.S
tlb-v6.S
tlb-v7.S
vmregion.c ARM: DMA coherent allocator: align remapped addresses 2010-07-27 10:43:48 +01:00
vmregion.h ARM: DMA coherent allocator: align remapped addresses 2010-07-27 10:43:48 +01:00