linux/arch/powerpc/mm
Benjamin Herrenschmidt 8b31e49d1d powerpc: Fix up dma_alloc_coherent() on platforms without cache coherency.
The implementation we just revived has issues, such as using a
Kconfig-defined virtual address area in kernel space that nothing
actually carves out (and thus will overlap whatever is there),
or having some dependencies on being self contained in a single
PTE page which adds unnecessary constraints on the kernel virtual
address space.

This fixes it by using more classic PTE accessors and automatically
locating the area for consistent memory, carving an appropriate hole
in the kernel virtual address space, leaving only the size of that
area as a Kconfig option. It also brings some dma-mask related fixes
from the ARM implementation which was almost identical initially but
grew its own fixes.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2009-05-27 16:33:59 +10:00
..
40x_mmu.c powerpc/40x: Limit allocable DRAM during early mapping 2008-11-13 10:10:56 -05:00
44x_mmu.c powerpc: rework 4xx PTE access and TLB miss 2008-07-09 13:36:17 -04:00
Makefile powerpc: Move dma-noncoherent.c from arch/powerpc/lib to arch/powerpc/mm 2009-05-27 16:32:05 +10:00
dma-noncoherent.c powerpc: Fix up dma_alloc_coherent() on platforms without cache coherency. 2009-05-27 16:33:59 +10:00
fault.c powerpc/mm: Rework I$/D$ coherency (v3) 2009-02-11 16:00:10 +11:00
fsl_booke_mmu.c powerpc/mm: Tweak PTE bit combination definitions 2009-03-24 13:47:33 +11:00
gup.c powerpc/mm: Properly wire up get_user_pages_fast() on 32-bit 2009-03-11 17:11:34 +11:00
hash_low_32.S powerpc/mm: Fix _PAGE_COHERENT support on classic ppc32 HW 2009-02-11 16:07:02 +11:00
hash_low_64.S powerpc: Free a PTE bit on ppc64 with 64K pages 2008-06-30 22:30:53 +10:00
hash_native_64.c [POWERPC] Use 1TB segments 2007-10-12 14:05:17 +10:00
hash_utils_64.c powerpc: Fix crash on CPU hotplug 2009-04-22 14:56:34 +10:00
hugetlbpage.c mm: report the MMU pagesize in /proc/pid/smaps 2009-01-06 15:58:58 -08:00
init_32.c powerpc: Minor cleanups of kernel virt address space definitions 2009-05-27 16:32:50 +10:00
init_64.c powerpc: Get USE_STRICT_MM_TYPECHECKS working again 2008-10-14 10:35:27 +11:00
mem.c powerpc: Fix up dma_alloc_coherent() on platforms without cache coherency. 2009-05-27 16:33:59 +10:00
mmap_64.c powerpc/mm: Rename arch/powerpc/kernel/mmap.c to mmap_64.c 2009-03-24 13:47:33 +11:00
mmu_context_hash32.c powerpc/mm: Split mmu_context handling 2008-12-21 14:21:15 +11:00
mmu_context_hash64.c powerpc/mm: Split mmu_context handling 2008-12-21 14:21:15 +11:00
mmu_context_nohash.c powerpc/mm: Fix broken MMU PID stealing on !SMP 2009-05-26 13:46:49 +10:00
mmu_decl.h Merge commit 'kumar/kumar-next' into next 2009-01-13 13:59:03 +11:00
numa.c powerpc/numa: Cleanup hot_add_scn_to_nid 2009-02-23 15:53:04 +11:00
pgtable.c powerpc: Do not assert pte_locked for hugepage PTE entries 2009-05-18 15:19:04 +10:00
pgtable_32.c powerpc: Minor cleanups of kernel virt address space definitions 2009-05-27 16:32:50 +10:00
pgtable_64.c powerpc: Wire up /proc/vmallocinfo to our ioremap() 2009-03-11 17:10:14 +11:00
ppc_mmu_32.c powerpc/mm: Tweak PTE bit combination definitions 2009-03-24 13:47:33 +11:00
slb.c [POWERPC] vmemmap fixes to use smaller pages 2008-05-15 20:49:25 +10:00
slb_low.S [POWERPC] vmemmap fixes to use smaller pages 2008-05-15 20:49:25 +10:00
slice.c powerpc: is_hugepage_only_range() must account for both 4kB and 64kB slices 2009-01-16 16:15:16 +11:00
stab.c powerpc: Change u64/s64 to a long long integer type 2009-01-13 14:47:59 +11:00
subpage-prot.c [POWERPC] Provide a way to protect 4k subpages when using 64k pages 2008-01-24 10:06:01 +11:00
tlb_hash32.c powerpc/mm: Add SMP support to no-hash TLB handling 2008-12-21 14:21:16 +11:00
tlb_hash64.c cpumask: Use mm_cpumask() wrapper instead of cpu_vm_mask 2009-03-24 13:47:29 +11:00
tlb_nohash.c powerpc/mm: Fix compile warning 2009-04-07 22:11:10 -05:00
tlb_nohash_low.S powerpc: fix for long standing bug noticed by gcc 4.4.0 2009-04-23 08:52:16 -05:00