linux-sg2042/arch/powerpc/mm
Scott Wood 47ce8af420 powerpc: add barrier after writing kernel PTE
There is no barrier between something like ioremap() writing to
a PTE, and returning the value to a caller that may then store the
pointer in a place that is visible to other CPUs.  Such callers
generally don't perform barriers of their own.

Even if callers of ioremap() and similar things did use barriers,
the most logical choise would be smp_wmb(), which is not
architecturally sufficient when BookE hardware tablewalk is used.  A
full sync is specified by the architecture.

For userspace mappings, OTOH, we generally already have an lwsync due
to locking, and if we occasionally take a spurious fault due to not
having a full sync with hardware tablewalk, it will not be fatal
because we will retry rather than oops.

Signed-off-by: Scott Wood <scottwood@freescale.com>
2014-01-09 17:52:19 -06:00
..
40x_mmu.c memblock: Remove rmo_size, burry it in arch/powerpc where it belongs 2010-08-05 12:56:08 +10:00
44x_mmu.c powerpc: Delete __cpuinit usage from all users 2013-07-01 11:10:36 +10:00
Makefile powerpc/THP: Add code to handle HPTE faults for hugepages 2013-06-21 16:01:56 +10:00
dma-noncoherent.c mm/arch: use __free_reserved_page() to simplify the code 2013-11-13 12:09:03 +09:00
fault.c arch: mm: pass userspace fault flag to generic fault handler 2013-09-12 15:38:01 -07:00
fsl_booke_mmu.c powerpc/fsl_booke: smp support for booting a relocatable kernel above 64M 2014-01-09 17:52:18 -06:00
gup.c powerpc: Fix __get_user_pages_fast() irq handling 2013-11-21 10:33:37 +11:00
hash_low_32.S powerpc: Use CURRENT_THREAD_INFO instead of open coded assembly 2012-07-11 14:18:22 +10:00
hash_low_64.S powerpc/mm: Free up _PAGE_COHERENCE for numa fault use later 2013-12-09 11:40:28 +11:00
hash_native_64.c powerpc: Book 3S MMU little endian support 2013-10-11 16:48:26 +11:00
hash_utils_64.c powerpc/mm: Free up _PAGE_COHERENCE for numa fault use later 2013-12-09 11:40:28 +11:00
highmem.c mm: fix race in kunmap_atomic() 2010-10-27 18:03:05 -07:00
hugepage-hash64.c powerpc/mm: Free up _PAGE_COHERENCE for numa fault use later 2013-12-09 11:40:28 +11:00
hugetlbpage-book3e.c powerpc/fsl_booke: protect the access to MAS7 2014-01-09 17:52:14 -06:00
hugetlbpage-hash64.c powerpc/mm: Free up _PAGE_COHERENCE for numa fault use later 2013-12-09 11:40:28 +11:00
hugetlbpage.c mm: remove obsolete comments about page table lock 2013-11-13 12:09:03 +09:00
icswx.c powerpc: Fix typo "CONFIG_ICSWX_PID" 2013-04-18 13:03:54 +10:00
icswx.h powerpc/icswx: Fix race condition with IPI setting ACOP 2012-03-07 17:06:09 +11:00
icswx_pid.c powerpc: Split ICSWX ACOP and PID processing 2011-11-25 14:11:27 +11:00
init_32.c powerpc/8xx: Fixing memory init issue with CONFIG_PIN_TLB 2013-10-28 21:11:22 -05:00
init_64.c powerpc: Prepare to support kernel handling of IOMMU map/unmap 2013-10-11 17:24:39 +11:00
mem.c powerpc: Fix memory hotplug with sparse vmemmap 2013-10-03 17:21:38 +10:00
mmap.c mm: remove free_area_cache 2013-07-10 18:11:34 -07:00
mmu_context_hash32.c powerpc: include export.h for files using EXPORT_SYMBOL/THIS_MODULE 2011-10-31 19:30:38 -04:00
mmu_context_hash64.c powerpc: Reduce PTE table memory wastage 2013-04-30 16:00:07 +10:00
mmu_context_nohash.c powerpc: Delete __cpuinit usage from all users 2013-07-01 11:10:36 +10:00
mmu_decl.h powerpc/fsl_booke: smp support for booting a relocatable kernel above 64M 2014-01-09 17:52:18 -06:00
numa.c mm: use pgdat_end_pfn() to simplify the code in arch 2013-11-13 12:09:03 +09:00
pgtable.c powerpc/mm: Only check for _PAGE_PRESENT in set_pte/pmd functions 2013-12-09 11:40:29 +11:00
pgtable_32.c powerpc: add barrier after writing kernel PTE 2014-01-09 17:52:19 -06:00
pgtable_64.c powerpc: add barrier after writing kernel PTE 2014-01-09 17:52:19 -06:00
ppc_mmu_32.c memblock: Remove rmo_size, burry it in arch/powerpc where it belongs 2010-08-05 12:56:08 +10:00
slb.c powerpc: Fix little endian lppaca, slb_shadow and dtl_entry 2013-08-14 15:33:35 +10:00
slb_low.S powerpc: Rename USER_ESID_BITS* to ESID_BITS* 2013-03-17 12:45:44 +11:00
slice.c powerpc: ppc64 address space capped at 32TB, mmap randomisation disabled 2013-11-21 10:33:41 +11:00
stab.c powerpc/mm: Remove uses of abs_to_virt() and virt_to_abs() 2012-09-05 15:19:31 +10:00
subpage-prot.c powerpc: Fix a number of sparse warnings 2013-08-14 11:50:24 +10:00
tlb_hash32.c powerpc: include export.h for files using EXPORT_SYMBOL/THIS_MODULE 2011-10-31 19:30:38 -04:00
tlb_hash64.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2013-07-04 10:29:23 -07:00
tlb_low_64e.S powerpc/booke64: Use SPRG0/3 scratch for bolted TLB miss & crit int 2012-09-05 15:35:52 +10:00
tlb_nohash.c powerpc: Move the patch_exception to a common place 2013-12-02 14:06:54 +11:00
tlb_nohash_low.S powerpc/fsl_booke: smp support for booting a relocatable kernel above 64M 2014-01-09 17:52:18 -06:00