kernel-ark/arch/powerpc/mm
Yinghai Lu c7fc2de0c8 memblock, bootmem: Round pfn properly for memory and reserved regions
We need to round memory regions correctly -- specifically, we need to
round reserved region in the more expansive direction (lower limit
down, upper limit up) whereas usable memory regions need to be rounded
in the more restrictive direction (lower limit up, upper limit down).

This introduces two set of inlines:

	memblock_region_memory_base_pfn()
	memblock_region_memory_end_pfn()
	memblock_region_reserved_base_pfn()
	memblock_region_reserved_end_pfn()

Although they are antisymmetric (and therefore are technically
duplicates) the use of the different inlines explicitly documents the
programmer's intention.

The lack of proper rounding caused a bug on ARM, which was then found
to also affect other architectures.

Reported-by: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Yinghai Lu <yinghai@kernel.org>
LKML-Reference: <4CB4CDFD.4020105@kernel.org>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2010-10-12 15:37:51 -07: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 memblock: Remove rmo_size, burry it in arch/powerpc where it belongs 2010-08-05 12:56:08 +10:00
dma-noncoherent.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
fault.c powerpc: Invoke oom-killer from page fault 2010-05-06 17:15:58 +10:00
fsl_booke_mmu.c Merge commit 'v2.6.36-rc3' into x86/memblock 2010-08-31 09:45:46 +02:00
gup.c powerpc/mm: Allow more flexible layouts for hugepage pagetables 2009-10-30 17:20:58 +11:00
hash_low_32.S powerpc: Use names rather than numbers for SPRGs (v2) 2009-08-20 10:12:27 +10:00
hash_low_64.S powerpc/mm: Move around testing of _PAGE_PRESENT in hash code 2010-07-23 08:53:23 +10:00
hash_native_64.c powerpc: Convert native_tlbie_lock to raw_spinlock 2010-02-19 14:52:30 +11:00
hash_utils_64.c memblock: Remove rmo_size, burry it in arch/powerpc where it belongs 2010-08-05 12:56:08 +10:00
highmem.c kmap_atomic: make kunmap_atomic() harder to misuse 2010-08-09 20:44:54 -07:00
hugetlbpage-hash64.c powerpc/mm: Add some debug output when hash insertion fails 2010-07-23 12:56:56 +10:00
hugetlbpage.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
init_32.c memblock: Remove rmo_size, burry it in arch/powerpc where it belongs 2010-08-05 12:56:08 +10:00
init_64.c Merge commit 'v2.6.36-rc3' into x86/memblock 2010-08-31 09:45:46 +02:00
Makefile powerpc/mm: Split hash MMU specific hugepage code into a new file 2009-10-30 17:20:59 +11:00
mem.c memblock, bootmem: Round pfn properly for memory and reserved regions 2010-10-12 15:37:51 -07:00
mmap_64.c powerpc: Use helpers for rlimits 2010-01-15 13:20:08 +11:00
mmu_context_hash32.c PPC: Split context init/destroy functions 2010-05-17 12:18:20 +03:00
mmu_context_hash64.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
mmu_context_nohash.c powerpc/47x: Base ppc476 support 2010-05-05 09:11:10 -04:00
mmu_decl.h powerpc/fsl-booke: Move loadcam_entry back to asm code to fix SMP ftrace 2010-05-17 10:56:20 -05:00
numa.c memblock, bootmem: Round pfn properly for memory and reserved regions 2010-10-12 15:37:51 -07:00
pgtable_32.c lmb: rename to memblock 2010-07-14 17:14:00 +10:00
pgtable_64.c lmb: rename to memblock 2010-07-14 17:14:00 +10:00
pgtable.c powerpc: Remove all rcu head initializations 2010-07-09 11:28:34 +10: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_low.S powerpc/mm: Fix hang accessing top of vmalloc space 2009-10-14 16:58:36 +11:00
slb.c powerpc/pseries: Fix to handle slb resize across migration 2009-09-02 16:19:01 +10:00
slice.c
stab.c lmb: rename to memblock 2010-07-14 17:14:00 +10:00
subpage-prot.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
tlb_hash32.c powerpc: Removing dead CONFIG_SMP_750 2010-07-09 11:28:38 +10:00
tlb_hash64.c powerpc: Fix address masking bug in hpte_need_flush() 2010-02-10 13:58:06 +11:00
tlb_low_64e.S fix comment typo leve -> level in powerpc 2010-02-05 12:22:38 +01:00
tlb_nohash_low.S powerpc/47x: Add an isync before the tlbivax instruction 2010-08-23 07:38:31 -04:00
tlb_nohash.c Merge commit 'v2.6.36-rc3' into x86/memblock 2010-08-31 09:45:46 +02:00