linux/arch
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
..
alpha Fix up more fallout form alpha signal cleanups 2010-09-30 08:37:38 -07:00
arm memblock, bootmem: Round pfn properly for memory and reserved regions 2010-10-12 15:37:51 -07:00
avr32 modules: Fix module_bug_list list corruption race 2010-10-05 11:29:27 -07:00
blackfin Blackfin: bf52x/bf54x boards: drop unused nand page size 2010-08-27 16:08:43 -04:00
cris Make do_execve() take a const filename pointer 2010-08-17 18:07:43 -07:00
frv frv: double syscall restarts, syscall restart in sigreturn() 2010-09-20 10:44:38 -07:00
h8300 modules: Fix module_bug_list list corruption race 2010-10-05 11:29:27 -07:00
ia64 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 2010-09-16 12:58:44 -07:00
m32r m32r: fix breakage from "m32r: use generic ptrace_resume code" 2010-09-24 13:54:19 -07:00
m68k arch/m68k/mac/macboing.c: use unsigned long for irqflags 2010-10-01 10:50:58 -07:00
m68knommu m68k,m68knommu: Wire up fanotify_init, fanotify_mark, and prlimit64 2010-09-13 20:28:45 +02:00
microblaze memblock, microblaze: Fix memblock API change fallout 2010-09-11 10:30:28 +02:00
mips MIPS: Octeon: Place cnmips_cu2_setup in __init memory. 2010-10-04 18:34:00 +01:00
mn10300 modules: Fix module_bug_list list corruption race 2010-10-05 11:29:27 -07:00
parisc modules: Fix module_bug_list list corruption race 2010-10-05 11:29:27 -07:00
powerpc memblock, bootmem: Round pfn properly for memory and reserved regions 2010-10-12 15:37:51 -07:00
s390 modules: Fix module_bug_list list corruption race 2010-10-05 11:29:27 -07:00
score Make do_execve() take a const filename pointer 2010-08-17 18:07:43 -07:00
sh memblock, bootmem: Round pfn properly for memory and reserved regions 2010-10-12 15:37:51 -07:00
sparc memblock, bootmem: Round pfn properly for memory and reserved regions 2010-10-12 15:37:51 -07:00
tile Merge branch 'stable' of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile 2010-09-24 19:08:39 -07:00
um Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2010-10-04 11:11:01 -07:00
x86 Merge branch 'x86/urgent' into core/memblock 2010-10-11 17:05:11 -07:00
xtensa Make do_execve() take a const filename pointer 2010-08-17 18:07:43 -07:00
.gitignore
Kconfig kprobes: Fix Kconfig dependency 2010-09-13 20:41:31 +02:00