kernel-ark/arch/arm/mm
Russell King 5edf71ae12 [ARM] Do not call flush_tlb_kernel_range() with IRQs disabled.
We must not call TLB maintainence operations with interrupts disabled,
otherwise we risk a lockup in the SMP IPI code.

This means that consistent_free() can not be called from a context with
IRQs disabled.  In addition, we must not hold the lock in consistent_free
when we call flush_tlb_kernel_range().  However, we must continue to
prevent consistent_alloc() from re-using the memory region until we've
finished tearing down the mapping and dealing with the TLB.

Therefore, leave the vm_region entry in the list, but mark it inactive
before dropping the lock and starting the tear-down process.  After the
mapping has been torn down, re-acquire the lock and remove the entry
from the list.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-11-25 15:52:51 +00:00
..
abort-ev4.S
abort-ev4t.S
abort-ev5t.S
abort-ev5tj.S
abort-ev6.S
abort-lv4t.S
abort-macro.S
alignment.c
cache-v3.S
cache-v4.S
cache-v4wb.S
cache-v4wt.S
cache-v6.S
consistent.c [ARM] Do not call flush_tlb_kernel_range() with IRQs disabled. 2005-11-25 15:52:51 +00:00
copypage-v3.S
copypage-v4mc.c
copypage-v4wb.S
copypage-v4wt.S
copypage-v6.c
copypage-xscale.c
discontig.c
extable.c
fault-armv.c
fault.c
fault.h
flush.c
init.c [ARM] Fix some corner cases in new mm initialisation 2005-11-17 22:43:30 +00:00
ioremap.c [ARM] __ioremap doesn't use 4th argument 2005-11-17 16:48:00 +00:00
Kconfig
Makefile [ARM] 3168/1: Update ARM signal delivery and masking 2005-11-19 10:01:07 +00:00
mm-armv.c
mmap.c
mmu.c
proc-arm6_7.S
proc-arm720.S
proc-arm920.S
proc-arm922.S
proc-arm925.S
proc-arm926.S
proc-arm1020.S
proc-arm1020e.S
proc-arm1022.S
proc-arm1026.S
proc-macros.S
proc-sa110.S
proc-sa1100.S
proc-syms.c
proc-v6.S
proc-xscale.S
tlb-v3.S
tlb-v4.S
tlb-v4wb.S
tlb-v4wbi.S
tlb-v6.S