linux/arch/sh/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
..
Kconfig sh: Merge legacy and dynamic PMB modes. 2010-02-18 18:13:51 +09:00
Makefile sh: Enable SH-X3 hardware synonym avoidance handling. 2010-04-19 17:27:17 +09:00
alignment.c sh: wire up SET/GET_UNALIGN_CTL. 2010-02-23 12:56:30 +09:00
asids-debugfs.c sh: Update debugfs ASID dumping for 16-bit ASID support. 2009-03-17 17:59:31 +09:00
cache-debugfs.c sh: Mass ctrl_in/outX to __raw_read/writeX conversion. 2010-01-26 12:58:40 +09:00
cache-sh2.c sh: Mass ctrl_in/outX to __raw_read/writeX conversion. 2010-01-26 12:58:40 +09:00
cache-sh2a.c sh: Mass ctrl_in/outX to __raw_read/writeX conversion. 2010-01-26 12:58:40 +09:00
cache-sh3.c sh: Mass ctrl_in/outX to __raw_read/writeX conversion. 2010-01-26 12:58:40 +09:00
cache-sh4.c sh: Mass ctrl_in/outX to __raw_read/writeX conversion. 2010-01-26 12:58:40 +09:00
cache-sh5.c sh64: Fix up reworked cache op build. 2009-11-12 17:03:28 +09:00
cache-sh7705.c sh: Mass ctrl_in/outX to __raw_read/writeX conversion. 2010-01-26 12:58:40 +09:00
cache-shx3.c sh: Zero out aliases counter when using SH-X3 hardware assistance. 2010-04-20 15:37:23 +09:00
cache.c sh: Enable SH-X3 hardware synonym avoidance handling. 2010-04-19 17:27:17 +09:00
consistent.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
extable_32.c sh: Split out extable.c _32 and _64 variants. 2008-01-28 13:18:44 +09:00
extable_64.c sh: comment tidying for sh64->sh migration. 2008-01-28 13:18:58 +09:00
fault_32.c sh: Kill off dangling goto labels from oom-killer rework. 2010-04-26 16:15:17 +09:00
fault_64.c sh: Tidy up NEFF-based sign extension for SH-5. 2009-08-04 17:14:39 +09:00
flush-sh4.c sh: Fix up the SH-5 build with caches enabled. 2009-08-16 01:50:17 +09: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.c memblock, bootmem: Round pfn properly for memory and reserved regions 2010-10-12 15:37:51 -07:00
ioremap.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
ioremap_fixed.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
kmap.c sh: Factor in cpu id for selection of cache colour fixmap. 2009-09-09 17:14:19 +09:00
mmap.c fix broken aliasing checks for MAP_FIXED on sparc32, mips, arm and sh 2009-12-11 06:44:59 -05:00
nommu.c sh: Fix up nommu build for out-of-line pgtable changes. 2010-01-06 14:45:14 +09:00
numa.c lmb: rename to memblock 2010-07-14 17:14:00 +10:00
pgtable.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
pmb.c arch/sh/mm: Eliminate a double lock 2010-06-21 13:46:53 +09:00
tlb-debugfs.c sh: tlb debugfs support. 2010-03-29 15:24:54 +09:00
tlb-pteaex.c sh: Fix up the SH-3 build for recent TLB changes. 2010-04-02 16:13:27 +09:00
tlb-sh3.c sh: Fix up the SH-3 build for recent TLB changes. 2010-04-02 16:13:27 +09:00
tlb-sh4.c sh: Fix up the SH-3 build for recent TLB changes. 2010-04-02 16:13:27 +09:00
tlb-sh5.c sh: Split out MMUCR.URB based entry wiring in to shared helper. 2010-01-19 15:20:35 +09:00
tlb-urb.c sh: update the TLB replacement counter for entry wiring. 2010-03-26 11:37:16 +09:00
tlbflush_32.c sh: Fix up the SH-3 build for recent TLB changes. 2010-04-02 16:13:27 +09:00
tlbflush_64.c sh: Kill off dangling goto labels from oom-killer rework. 2010-04-26 16:15:17 +09:00
uncached.c sh: Export uncached helper symbols. 2010-03-10 16:46:58 +09:00