linux/arch/powerpc/mm
Cyril Bur fdf880a608 powerpc: Fix checkstop in native_hpte_clear() with lockdep
native_hpte_clear() is called in real mode from two places:
- Early in boot during htab initialisation if firmware assisted dump is
  active.
- Late in the kexec path.

In both contexts there is no need to disable interrupts are they are
already disabled. Furthermore, locking around the tlbie() is only required
for pre POWER5 hardware.

On POWER5 or newer hardware concurrent tlbie()s work as expected and on pre
POWER5 hardware concurrent tlbie()s could result in deadlock. This code
would only be executed at crashdump time, during which all bets are off,
concurrent tlbie()s are unlikely and taking locks is unsafe therefore the
best course of action is to simply do nothing. Concurrent tlbie()s are not
possible in the first case as secondary CPUs have not come up yet.

Signed-off-by: Cyril Bur <cyrilbur@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2015-10-09 08:01:38 +11: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
copro_fault.c cxl: Move include file cxl.h -> cxl-base.h 2015-06-03 13:27:19 +10:00
dma-noncoherent.c powerpc: Fix compile errors with STRICT_MM_TYPECHECKS enabled 2015-04-10 20:02:47 +10:00
fault.c powerpc: Add plain English description for alignment exception oopses 2015-07-06 20:24:35 +10:00
fsl_booke_mmu.c powerpc/fsl: Force coherent memory on e500mc derivatives 2015-08-07 23:00:01 -05: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: Drop CONFIG_PPC_HAS_HASH_64K 2015-08-18 19:32:10 +10:00
hash_native_64.c powerpc: Fix checkstop in native_hpte_clear() with lockdep 2015-10-09 08:01:38 +11:00
hash_utils_64.c powerpc/mm: Drop CONFIG_PPC_HAS_HASH_64K 2015-08-18 19:32:10 +10:00
highmem.c sched/preempt, mm/kmap: Explicitly disable/enable preemption in kmap_atomic_* 2015-05-19 08:39:14 +02:00
hugepage-hash64.c powerpc/mm: Recompute hash value after a failed update 2015-09-16 22:06:03 +10:00
hugetlbpage-book3e.c powerpc: Replace __get_cpu_var uses 2014-11-03 12:12:32 +11:00
hugetlbpage-hash64.c powerpc/mm: don't do tlbie for updatepp request with NO HPTE fault 2014-12-05 16:26:15 +11:00
hugetlbpage.c powerpc/cell: Drop support for 64K local store on 4K kernels 2015-08-18 19:29:49 +10:00
icswx_pid.c powerpc: Split ICSWX ACOP and PID processing 2011-11-25 14:11:27 +11: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
init_32.c powerpc: Remove superfluous bootmem includes 2014-11-10 09:59:26 +11:00
init_64.c powerpc/mm: Free string after creating kmem cache 2015-03-26 15:23:17 +11:00
Makefile powerpc/mmu: Add userspace-to-physical addresses translation cache 2015-06-11 15:16:54 +10:00
mem.c libnvdimm for 4.3: 2015-09-08 14:35:59 -07:00
mmap.c mm: expose arch_mmap_rnd when available 2015-04-14 16:49:05 -07:00
mmu_context_hash32.c powerpc: Remove power3 from comments 2014-07-28 14:10:26 +10:00
mmu_context_hash64.c powerpc/mmu: Add userspace-to-physical addresses translation cache 2015-06-11 15:16:54 +10:00
mmu_context_iommu.c powerpc/mmu: Add userspace-to-physical addresses translation cache 2015-06-11 15:16:54 +10:00
mmu_context_nohash.c powerpc/8xx: reduce pressure on TLB due to context switches 2015-01-29 21:51:06 -06:00
mmu_decl.h powerpc/mm: Change setbat() to take a pgprot_t rather than flags 2015-04-07 17:15:13 +10:00
numa.c powerpc/numa: initialize distance lookup table from drconf path 2015-08-18 19:34:41 +10:00
pgtable_32.c powerpc: Replace mem_init_done with slab_is_available() 2015-04-10 20:02:48 +10:00
pgtable_64.c powerpc/booke64: Move mb() to __set_pte_at() with kernel-addr test 2015-08-07 23:00:01 -05:00
pgtable.c mm: convert p[te|md]_numa users to p[te|md]_protnone_numa 2015-02-12 18:54:08 -08:00
ppc_mmu_32.c powerpc/mm: Change setbat() to take a pgprot_t rather than flags 2015-04-07 17:15:13 +10:00
slb_low.S Merge remote-tracking branch 'anton/abiv2' into next 2014-05-05 20:57:12 +10:00
slb.c powerpc/slb: Add documentation on runtime patching of SLB encoding 2015-08-12 15:04:52 +10:00
slice.c powerpc: Remove some unused functions 2015-01-28 15:00:24 +11:00
subpage-prot.c arch/powerpc/mm/subpage-prot.c: use walk->vma and walk_page_vma() 2015-02-11 17:06:06 -08: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 powerpc: Fix compile errors with STRICT_MM_TYPECHECKS enabled 2015-04-10 20:02:47 +10:00
tlb_low_64e.S powerpc/e6500: hw tablewalk: optimize a bit for tcd lock acquiring codes 2015-08-17 18:53:47 -05: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
tlb_nohash.c sched/topology: Rename topology_thread_cpumask() to topology_sibling_cpumask() 2015-05-27 15:22:15 +02:00
vphn.c powerpc/vphn: parsing code rewrite 2015-03-18 10:48:59 +11:00
vphn.h powerpc/vphn: parsing code rewrite 2015-03-18 10:48:59 +11:00