2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-27 06:34:11 +08:00
linux-next/arch/arm/mm
Catalin Marinas d907387c42 ARM: 6383/1: Implement phys_mem_access_prot() to avoid attributes aliasing
ARMv7 onwards requires that there are no aliases to the same physical
location using different memory types (i.e. Normal vs Strongly Ordered).
Access to SO mappings when the unaligned accesses are handled in
hardware is also Unpredictable (pgprot_noncached() mappings in user
space).

The /dev/mem driver requires uncached mappings with O_SYNC. The patch
implements the phys_mem_access_prot() function which generates Strongly
Ordered memory attributes if !pfn_valid() (independent of O_SYNC) and
Normal Noncacheable (writecombine) if O_SYNC.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2010-09-19 12:19:18 +01:00
..
abort-ev4.S
abort-ev4t.S
abort-ev5t.S
abort-ev5tj.S
abort-ev6.S Add core support for ARMv6/v7 big-endian 2009-05-30 14:00:18 +01:00
abort-ev7.S arm: mm: qsd8x50: Fix incorrect permission faults 2010-05-03 11:15:05 -07:00
abort-lv4t.S [ARM] nommu: abort handler fixup for !CPU_CP15_MMU cores. 2006-09-28 20:15:46 +01:00
abort-macro.S
abort-nommu.S [ARM] 5227/1: Add the ENDPROC declarations to the .S files 2008-09-01 12:06:34 +01:00
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 ARM: dma-mapping: remove dmac_clean_range and dmac_inv_range 2010-02-15 15:22:23 +00:00
cache-feroceon-l2.c [ARM] Kirkwood: small L2 code cleanup 2009-03-28 22:39:30 -04:00
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 ARM: Add Tauros2 L2 cache controller support 2009-11-27 15:43:21 -05:00
cache-v3.S ARM: dma-mapping: remove dmac_clean_range and dmac_inv_range 2010-02-15 15:22:23 +00:00
cache-v4.S ARM: dma-mapping: remove dmac_clean_range and dmac_inv_range 2010-02-15 15:22:23 +00:00
cache-v4wb.S ARM: dma-mapping: remove dmac_clean_range and dmac_inv_range 2010-02-15 15:22:23 +00:00
cache-v4wt.S ARM: dma-mapping: remove dmac_clean_range and dmac_inv_range 2010-02-15 15:22:23 +00:00
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 ARM: 6139/1: ARMv7: Use the Inner Shareable I-cache on MP 2010-05-20 23:52:38 +01:00
cache-xsc3l2.c [ARM] pxa: do not enable L2 after MMU is enabled 2010-01-01 15:50:34 +08:00
context.c ARM: 5905/1: ARM: Global ASID allocation on SMP 2010-02-15 21:39:51 +00:00
copypage-fa.c ARM: Gemini: fix compiler error in copypage-fa.c 2010-04-27 12:45:10 +02:00
copypage-feroceon.c ARM: 6164/1: Add kto and kfrom to input operands list. 2010-06-08 19:42:18 +01:00
copypage-v3.c ARM: Pass VMA to copy_user_highpage() implementations 2009-10-05 15:17:45 +01:00
copypage-v4mc.c ARM: Pass VMA to copy_user_highpage() implementations 2009-10-05 15:17:45 +01:00
copypage-v4wb.c ARM: 6164/1: Add kto and kfrom to input operands list. 2010-06-08 19:42:18 +01:00
copypage-v4wt.c ARM: 6164/1: Add kto and kfrom to input operands list. 2010-06-08 19:42:18 +01:00
copypage-v6.c ARM: 6007/1: fix highmem with VIPT cache and DMA 2010-04-14 11:11:27 +01:00
copypage-xsc3.c ARM: 6164/1: Add kto and kfrom to input operands list. 2010-06-08 19:42:18 +01:00
copypage-xscale.c ARM: Pass VMA to copy_user_highpage() implementations 2009-10-05 15:17:45 +01:00
dma-mapping.c ARM: Ensure PTE modifications via dma_alloc_coherent are visible 2010-09-08 16:27:56 +01:00
extable.c [ARM] Convert asm/uaccess.h to linux/uaccess.h 2008-09-06 11:35:55 +01:00
fault-armv.c Merge branch 'devel-stable' into devel 2010-05-17 17:24:04 +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 [ARM] do_bad_area() always takes current and current->active_mm 2006-09-27 16:13:48 +01:00
flush.c ARM: 6007/1: fix highmem with VIPT cache and DMA 2010-04-14 11:11:27 +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 [ARM] Convert asm/io.h to linux/io.h 2008-09-06 12:10:45 +01:00
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 [ARM] add address randomization to mmap() 2010-06-14 21:22:11 -04:00
mmu.c ARM: 6383/1: Implement phys_mem_access_prot() to avoid attributes aliasing 2010-09-19 12:19:18 +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 ARM: 5727/1: Pass IFSR register to do_PrefetchAbort() 2009-10-02 22:34:32 +01:00
pabort-v6.S ARM: 5727/1: Pass IFSR register to do_PrefetchAbort() 2009-10-02 22:34:32 +01:00
pabort-v7.S ARM: 5727/1: Pass IFSR register to do_PrefetchAbort() 2009-10-02 22:34:32 +01:00
pgd.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
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 Merge branch 'devel-stable' into devel 2009-09-12 12:02:26 +01:00
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 ARM: add size argument to __cpuc_flush_dcache_page 2009-12-14 14:53:22 +00:00
proc-v6.S ARM: Factor out common code from cpu_proc_fin() 2010-07-27 10:48:42 +01:00
proc-v7.S ARM: 6398/1: add proc info for ARM11MPCore/Cortex-A9 from ARM 2010-09-17 16:44:24 +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 ARM: Add support for FA526 v2 2009-03-25 13:10:01 +02:00
tlb-v3.S
tlb-v4.S
tlb-v4wb.S
tlb-v4wbi.S
tlb-v6.S arm: Use __INIT macro instead of .text.init. 2009-04-27 19:51:58 -07:00
tlb-v7.S ARM: 6112/1: Use the Inner Shareable I-cache and BTB ops on ARMv7 SMP 2010-05-08 10:44:30 +01:00
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