linux/arch/arm/mm
Russell King 4b46d64165 ARM: ensure initial page tables are setup for SMP systems
Mapping the same memory using two different attributes (memory
type, shareability, cacheability) is unpredictable.  During boot,
we encounter a situation when we're updating the kernel's page
tables which can lead to dirty cache lines existing in the cache
which are subsequently missed.  This causes stack corruption,
and therefore a crash.

Therefore, ensure that the shared and cacheability settings
matches the configuration that will be used later; this together
with the restriction in early_cachepolicy() ensures that we won't
create a mismatch during boot.

Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-11-02 16:59:59 +00: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] 5227/1: Add the ENDPROC declarations to the .S files 2008-09-01 12:06:34 +01: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 Thumb-2: Implement the unified arch/arm/mm support 2009-07-24 12:32:56 +01:00
cache-fa.S ARM: Add support for FA526 v2 2009-03-25 13:10:01 +02:00
cache-feroceon-l2.c [ARM] Kirkwood: small L2 code cleanup 2009-03-28 22:39:30 -04:00
cache-l2x0.c [ARM] Convert asm/io.h to linux/io.h 2008-09-06 12:10:45 +01:00
cache-v3.S [ARM] Remove unnecessary mach/hardware.h includes in arch/arm/mm 2008-11-28 23:20:39 +00:00
cache-v4.S [ARM] Remove unnecessary mach/hardware.h includes in arch/arm/mm 2008-11-28 23:20:39 +00:00
cache-v4wb.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
cache-v4wt.S [ARM] Remove unnecessary mach/hardware.h includes in arch/arm/mm 2008-11-28 23:20:39 +00:00
cache-v6.S ARM: 5746/1: Handle possible translation errors in ARMv6/v7 coherent_user_range 2009-10-07 13:12:59 +01:00
cache-v7.S ARM: 5746/1: Handle possible translation errors in ARMv6/v7 coherent_user_range 2009-10-07 13:12:59 +01:00
cache-xsc3l2.c [ARM] xsc3: add highmem support to L2 cache handling code 2009-03-15 21:01:21 -04:00
context.c ARM: Fix errata 411920 workarounds 2009-10-29 19:13:09 +00:00
copypage-fa.c ARM: Add support for FA526 v2 2009-03-25 13:10:01 +02:00
copypage-feroceon.c [ARM] 5421/1: ftrace: fix crash due to tracing of __naked functions 2009-03-12 21:33:03 +00:00
copypage-v3.c [ARM] 5421/1: ftrace: fix crash due to tracing of __naked functions 2009-03-12 21:33:03 +00:00
copypage-v4mc.c [ARM] 5421/1: ftrace: fix crash due to tracing of __naked functions 2009-03-12 21:33:03 +00:00
copypage-v4wb.c [ARM] 5421/1: ftrace: fix crash due to tracing of __naked functions 2009-03-12 21:33:03 +00:00
copypage-v4wt.c [ARM] 5421/1: ftrace: fix crash due to tracing of __naked functions 2009-03-12 21:33:03 +00:00
copypage-v6.c [ARM] clearpage: provide our own clear_user_highpage() 2008-11-27 23:53:48 +00:00
copypage-xsc3.c [ARM] 5421/1: ftrace: fix crash due to tracing of __naked functions 2009-03-12 21:33:03 +00:00
copypage-xscale.c [ARM] 5421/1: ftrace: fix crash due to tracing of __naked functions 2009-03-12 21:33:03 +00:00
discontig.c mm: move bootmem descriptors definition to a single place 2008-07-24 10:47:14 -07:00
dma-mapping.c ARM: Use GFP_DMA only for masks _less_ than 32-bit 2009-10-25 22:44:30 +00:00
extable.c [ARM] Convert asm/uaccess.h to linux/uaccess.h 2008-09-06 11:35:55 +01:00
fault-armv.c ARM: force dcache flush if dcache_dirty bit set 2009-10-12 17:52:26 +01:00
fault.c ARM: 5742/1: ARM: add debug check for invalid kernel page faults 2009-10-05 17:55:55 +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: Fix errata 411920 workarounds 2009-10-29 19:13:09 +00:00
highmem.c ARM: Add kmap_atomic type debugging 2009-10-11 16:29:48 +01:00
init.c ARM: Fix sparsemem with SPARSEMEM_EXTREME enabled 2009-10-29 17:06:17 +00:00
iomap.c [ARM] Convert asm/io.h to linux/io.h 2008-09-06 12:10:45 +01:00
ioremap.c omap iommu: simple virtual address space management 2009-05-19 08:23:49 +03:00
Kconfig ARM: 5769/1: CPU_ARM920T: remove dead Maverick EP9312 URL 2009-10-21 13:09:37 +01:00
Makefile ARM: 5727/1: Pass IFSR register to do_PrefetchAbort() 2009-10-02 22:34:32 +01:00
mm.h [ARM] fixmap support 2009-03-15 21:01:20 -04:00
mmap.c ARM: 5740/1: fix valid_phys_addr_range() range check 2009-10-02 22:32:34 +01:00
mmu.c ARM: ensure initial page tables are setup for SMP systems 2009-11-02 16:59:59 +00:00
nommu.c nommu: Include asm/setup.h in arch/arm/mm/nommu.c 2009-07-24 12:35:03 +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 [ARM] remove memzero() 2008-11-27 12:37:59 +00:00
proc-arm6_7.S ARM: 5727/1: Pass IFSR register to do_PrefetchAbort() 2009-10-02 22:34:32 +01:00
proc-arm7tdmi.S ARM: 5727/1: Pass IFSR register to do_PrefetchAbort() 2009-10-02 22:34:32 +01:00
proc-arm9tdmi.S ARM: 5727/1: Pass IFSR register to do_PrefetchAbort() 2009-10-02 22:34:32 +01:00
proc-arm720.S ARM: 5727/1: Pass IFSR register to do_PrefetchAbort() 2009-10-02 22:34:32 +01:00
proc-arm740.S ARM: 5727/1: Pass IFSR register to do_PrefetchAbort() 2009-10-02 22:34:32 +01:00
proc-arm920.S ARM: 5727/1: Pass IFSR register to do_PrefetchAbort() 2009-10-02 22:34:32 +01:00
proc-arm922.S ARM: 5727/1: Pass IFSR register to do_PrefetchAbort() 2009-10-02 22:34:32 +01:00
proc-arm925.S ARM: 5727/1: Pass IFSR register to do_PrefetchAbort() 2009-10-02 22:34:32 +01:00
proc-arm926.S ARM: 5727/1: Pass IFSR register to do_PrefetchAbort() 2009-10-02 22:34:32 +01:00
proc-arm940.S ARM: 5727/1: Pass IFSR register to do_PrefetchAbort() 2009-10-02 22:34:32 +01:00
proc-arm946.S ARM: 5727/1: Pass IFSR register to do_PrefetchAbort() 2009-10-02 22:34:32 +01:00
proc-arm1020.S ARM: 5727/1: Pass IFSR register to do_PrefetchAbort() 2009-10-02 22:34:32 +01:00
proc-arm1020e.S ARM: 5727/1: Pass IFSR register to do_PrefetchAbort() 2009-10-02 22:34:32 +01:00
proc-arm1022.S ARM: 5727/1: Pass IFSR register to do_PrefetchAbort() 2009-10-02 22:34:32 +01:00
proc-arm1026.S ARM: 5727/1: Pass IFSR register to do_PrefetchAbort() 2009-10-02 22:34:32 +01:00
proc-fa526.S ARM: 5727/1: Pass IFSR register to do_PrefetchAbort() 2009-10-02 22:34:32 +01:00
proc-feroceon.S ARM: 5727/1: Pass IFSR register to do_PrefetchAbort() 2009-10-02 22:34:32 +01:00
proc-macros.S Merge branch 'devel-stable' into devel 2009-09-12 12:02:26 +01:00
proc-mohawk.S ARM: 5727/1: Pass IFSR register to do_PrefetchAbort() 2009-10-02 22:34:32 +01:00
proc-sa110.S ARM: 5727/1: Pass IFSR register to do_PrefetchAbort() 2009-10-02 22:34:32 +01:00
proc-sa1100.S ARM: 5727/1: Pass IFSR register to do_PrefetchAbort() 2009-10-02 22:34:32 +01:00
proc-syms.c [ARM] export __cpu_flush_dcache_page 2009-07-05 15:25:00 +01:00
proc-v6.S ARM: ensure initial page tables are setup for SMP systems 2009-11-02 16:59:59 +00:00
proc-v7.S ARM: ensure initial page tables are setup for SMP systems 2009-11-02 16:59:59 +00:00
proc-xsc3.S ARM: 5727/1: Pass IFSR register to do_PrefetchAbort() 2009-10-02 22:34:32 +01:00
proc-xscale.S ARM: 5727/1: Pass IFSR register to do_PrefetchAbort() 2009-10-02 22:34:32 +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 Check whether the TLB operations need broadcasting on SMP systems 2009-05-30 14:00:14 +01:00