aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/include/asm/page_types.h
diff options
context:
space:
mode:
authorYinghai Lu <yinghai@kernel.org>2014-01-27 17:06:50 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2014-01-27 21:02:38 -0800
commit4ce7a8697cb795fda6bdf082c14743b4bcd551c3 (patch)
tree04c7c47717530b28602c7243d7efe28277c7908a /arch/x86/include/asm/page_types.h
parentmemblock, nobootmem: add memblock_virt_alloc_low() (diff)
downloadlinux-dev-4ce7a8697cb795fda6bdf082c14743b4bcd551c3.tar.xz
linux-dev-4ce7a8697cb795fda6bdf082c14743b4bcd551c3.zip
x86: revert wrong memblock current limit setting
Dave reported big numa system booting is broken. It turns out that commit 5b6e529521d3 ("x86: memblock: set current limit to max low memory address") sets the limit to low wrongly. max_low_pfn_mapped is different from max_pfn_mapped. max_low_pfn_mapped is always under 4G. That will memblock_alloc_nid all go under 4G. Revert 5b6e529521d3 to fix a no-boot regression which was triggered by 457ff1de2d24 ("lib/swiotlb.c: use memblock apis for early memory allocations"). Signed-off-by: Yinghai Lu <yinghai@kernel.org> Reported-by: Dave Hansen <dave.hansen@intel.com> Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com> Cc: Russell King <linux@arm.linux.org.uk> Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: "H. Peter Anvin" <hpa@zytor.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/x86/include/asm/page_types.h')
-rw-r--r--arch/x86/include/asm/page_types.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/x86/include/asm/page_types.h b/arch/x86/include/asm/page_types.h
index 2f59cce3b38a..f97fbe3abb67 100644
--- a/arch/x86/include/asm/page_types.h
+++ b/arch/x86/include/asm/page_types.h
@@ -51,9 +51,9 @@ extern int devmem_is_allowed(unsigned long pagenr);
extern unsigned long max_low_pfn_mapped;
extern unsigned long max_pfn_mapped;
-static inline phys_addr_t get_max_low_mapped(void)
+static inline phys_addr_t get_max_mapped(void)
{
- return (phys_addr_t)max_low_pfn_mapped << PAGE_SHIFT;
+ return (phys_addr_t)max_pfn_mapped << PAGE_SHIFT;
}
bool pfn_range_is_mapped(unsigned long start_pfn, unsigned long end_pfn);