linux/arch/powerpc/mm
Oliver O'Halloran 3079abe555 powerpc/mm: Ensure "special" zones are empty
The mm zone mechanism was traditionally used by arch specific code to
partition memory into allocation zones. However there are several zones
that are managed by the mm subsystem rather than the architecture. Most
architectures set the max PFN of these special zones to zero, however on
powerpc we set them to ~0ul. This, in conjunction with a bug in
free_area_init_nodes() results in all of system memory being placed in
ZONE_DEVICE when enabled. Device memory cannot be used for regular kernel
memory allocations so this will cause a kernel panic at boot. Given the
planned addition of more mm managed zones (ZONE_CMA) we should aim to be
consistent with every other architecture and set the max PFN for these
zones to zero.

Signed-off-by: Oliver O'Halloran <oohall@gmail.com>
Reviewed-by: Balbir Singh <bsingharora@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2016-06-16 16:03:21 +10:00
..
8xx_mmu.c powerpc/8xx: rewrite flush_instruction_cache() in C 2016-03-11 17:20:11 -06:00
40x_mmu.c powerpc/mm: Don't use pmd_val, pud_val and pgd_val as lvalue 2015-12-14 15:19:07 +11:00
44x_mmu.c
copro_fault.c cxl: Move include file cxl.h -> cxl-base.h 2015-06-03 13:27:19 +10:00
dma-noncoherent.c powerpc: Simplify test in __dma_sync() 2016-03-11 17:20:12 -06: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/mm: Convert pte_user() to static inline 2016-05-01 18:32:24 +10:00
hash64_4k.c powerpc/mm/book3s: Rename hash specific PTE bits to carry H_ prefix 2016-05-01 18:32:43 +10:00
hash64_64k.c powerpc/mm/book3s: Rename hash specific PTE bits to carry H_ prefix 2016-05-01 18:32:43 +10:00
hash_low_32.S
hash_native_64.c powerpc: Various typo fixes 2016-06-14 13:58:26 +10:00
hash_utils_64.c powerpc/mm/hash: Fix the reference bit update when handling hash fault 2016-06-01 13:47:34 +10:00
highmem.c
hugepage-hash64.c powerpc/mm/book3s: Rename hash specific PTE bits to carry H_ prefix 2016-05-01 18:32:43 +10:00
hugetlbpage-book3e.c powerpc/fsl-book3e: Avoid lbarx on e5500 2016-03-03 23:43:05 -06:00
hugetlbpage-hash64.c powerpc/mm/book3s: Rename hash specific PTE bits to carry H_ prefix 2016-05-01 18:32:43 +10:00
hugetlbpage-radix.c powerpc/mm: Add radix support for hugetlb 2016-05-11 21:53:55 +10:00
hugetlbpage.c powerpc updates for 4.7 2016-05-20 10:12:41 -07:00
icswx_pid.c
icswx.c
icswx.h
init_32.c powerpc updates for 4.6 2016-03-19 15:38:41 -07:00
init_64.c powerpc/mm: Abstraction for vmemmap and map_kernel_page() 2016-05-01 18:33:02 +10:00
Makefile powerpc/mm/thp: Abstraction for THP functions 2016-05-11 21:53:57 +10:00
mem.c powerpc/mm: Ensure "special" zones are empty 2016-06-16 16:03:21 +10:00
mmap.c powerpc/mm/radix: Pick the address layout for radix config 2016-05-11 21:53:47 +10:00
mmu_context_book3s64.c powerpc/mm/subpage: Initialise user psize correctly 2016-05-11 21:53:59 +10:00
mmu_context_hash32.c
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/mm/slice: Remove slice_mm_new_context() 2016-05-11 21:54:00 +10:00
mmu_decl.h powerpc/mm: Abstraction for vmemmap and map_kernel_page() 2016-05-01 18:33:02 +10:00
numa.c powerpc/numa: Fix multiple bugs in memory_hotplug_max() 2016-06-14 16:06:13 +10:00
pgtable_32.c powerpc32: PAGE_EXEC required for inittext 2016-03-11 20:04:32 -06:00
pgtable_64.c powerpc/mm: THP is only available on hash64 as of now 2016-05-11 21:53:56 +10:00
pgtable-book3e.c powerpc/mm: Make page table size a variable 2016-05-01 18:32:48 +10:00
pgtable-book3s64.c powerpc/mm/radix: Add missing tlb flush 2016-06-01 13:47:34 +10:00
pgtable-hash64.c powerpc/mm/thp: Abstraction for THP functions 2016-05-11 21:53:57 +10:00
pgtable-radix.c powerpc/mm/radix: Update LPCR only if it is powernv 2016-06-01 13:47:34 +10:00
pgtable.c powerpc/mm: Update pte filter for radix 2016-05-11 21:53:52 +10:00
ppc_mmu_32.c powerpc32: refactor x_mapped_by_bats() and x_mapped_by_tlbcam() together 2016-03-11 17:18:02 -06:00
slb_low.S powerpc/mm: vmalloc abstraction in preparation for radix 2016-05-11 21:53:53 +10:00
slb.c powerpc/mm: Remove long disabled SLB code 2016-04-11 20:30:40 +10:00
slice.c powerpc/mm/radix: Add checks in slice code to catch radix usage 2016-05-11 21:53:46 +10:00
subpage-prot.c thp: rename split_huge_page_pmd() to split_huge_pmd() 2016-01-15 17:56:32 -08:00
tlb_hash32.c
tlb_hash64.c powerpc/mm: Hash abstraction for tlbflush routines 2016-05-01 18:33:08 +10:00
tlb_low_64e.S powerpc: Fix misspellings in comments. 2016-03-01 19:27:20 +11:00
tlb_nohash_low.S powerpc: Fix misspellings in comments. 2016-03-01 19:27:20 +11:00
tlb_nohash.c powerpc/mm: any thread in one core can be the first to setup TLB1 2016-03-04 23:44:02 -06:00
tlb-radix.c powerpc/mm/radix: Fix always false comparison against MMU_NO_CONTEXT 2016-06-08 13:56:53 +10:00
vphn.c
vphn.h