linux/arch/sparc/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
..
btfixup.c sparc: remove CONFIG_SUN4 2008-08-31 20:59:37 -07:00
extable.c module: trim exception table on init free. 2009-06-12 21:47:04 +09:30
fault_32.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6 2010-03-02 07:56:44 -08:00
fault_64.c sparc: Support show_unhandled_signals. 2010-03-01 00:02:23 -08:00
generic_32.c sparc: move EXPORT_SYMBOL to the symbols definition 2009-01-08 16:58:05 -08:00
generic_64.c sparc64: move EXPORT_SYMBOL to the symbols definition 2009-01-08 16:58:20 -08:00
highmem.c kmap_atomic: make kunmap_atomic() harder to misuse 2010-08-09 20:44:54 -07: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
hypersparc.S sparc: remove CVS keywords 2008-05-20 00:33:44 -07:00
init_32.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_64.c memblock, bootmem: Round pfn properly for memory and reserved regions 2010-10-12 15:37:51 -07:00
init_64.h sparc64: Fix definition of VMEMMAP_SIZE. 2009-11-23 16:38:56 -08:00
io-unit.c sparc: remove references to of_device and to_of_device 2010-07-24 09:58:22 -06:00
iommu.c Merge branch 'next-devicetree' of git://git.secretlab.ca/git/linux-2.6 2010-08-05 15:57:35 -07:00
leon_mm.c sparc,leon: CONFIG_SPARC_LEON option and leon specific files. 2009-08-17 18:32:09 -07:00
loadmmu.c sparc,leon: Introduce the sparc-leon CPU type. 2009-08-17 18:32:10 -07:00
Makefile sparc,leon: Introduce the sparc-leon CPU type. 2009-08-17 18:32:10 -07:00
nosun4c.c MM: Pass a PTE pointer to update_mmu_cache() rather than the PTE itself 2010-02-20 16:41:46 +00:00
srmmu.c sparc32: Kill none_mask, it's bogus. 2010-05-25 23:36:31 -07:00
sun4c.c sparc32: Kill none_mask, it's bogus. 2010-05-25 23:36:31 -07:00
swift.S sparc: remove CVS keywords 2008-05-20 00:33:44 -07:00
tlb.c sparc,sparc64: unify mm/ 2008-12-04 09:16:59 -08:00
tsb.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
tsunami.S sparc/mm/: possible cleanups 2008-07-17 21:38:01 -07:00
ultra.S sparc64: Reschedule KGDB capture to a software interrupt. 2009-03-18 23:51:57 -07:00
viking.S sparc: remove CVS keywords 2008-05-20 00:33:44 -07:00