summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2010-10-27 19:09:59 +0200
committerRussell King <rmk+kernel@arm.linux.org.uk>2010-10-27 22:41:39 +0200
commit4e929d2bcf13eeaa9636448c55690b383a910391 (patch)
treec50dbc31dc4d2c6fee40c17fec06ef90c84a5ee6 /arch
parentARM: 6465/1: Fix data abort accessing proc_info from __lookup_processor_type (diff)
downloadlinux-4e929d2bcf13eeaa9636448c55690b383a910391.tar.xz
linux-4e929d2bcf13eeaa9636448c55690b383a910391.zip
ARM: fix memblock breakage
Will says: | Commit e63075a3 removed the explicit MEMBLOCK_REAL_LIMIT #define | and introduced the requirement that arch code calls | memblock_set_current_limit to ensure that the __va macro can | be used on physical addresses returned from memblock_alloc. Unfortunately, ARM was missed out of this change. Fix this. Reported-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/include/asm/memblock.h7
-rw-r--r--arch/arm/mm/mmu.c4
2 files changed, 1 insertions, 10 deletions
diff --git a/arch/arm/include/asm/memblock.h b/arch/arm/include/asm/memblock.h
index fdbc43b2e6c0..b8da2e415e4e 100644
--- a/arch/arm/include/asm/memblock.h
+++ b/arch/arm/include/asm/memblock.h
@@ -1,13 +1,6 @@
#ifndef _ASM_ARM_MEMBLOCK_H
#define _ASM_ARM_MEMBLOCK_H
-#ifdef CONFIG_MMU
-extern phys_addr_t lowmem_end_addr;
-#define MEMBLOCK_REAL_LIMIT lowmem_end_addr
-#else
-#define MEMBLOCK_REAL_LIMIT 0
-#endif
-
struct meminfo;
struct machine_desc;
diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c
index d184d25e9a5f..8e21b4e721e4 100644
--- a/arch/arm/mm/mmu.c
+++ b/arch/arm/mm/mmu.c
@@ -745,13 +745,11 @@ static int __init early_vmalloc(char *arg)
}
early_param("vmalloc", early_vmalloc);
-phys_addr_t lowmem_end_addr;
-
static void __init sanity_check_meminfo(void)
{
int i, j, highmem = 0;
- lowmem_end_addr = __pa(vmalloc_min - 1) + 1;
+ memblock_set_current_limit(__pa(vmalloc_min - 1) + 1);
for (i = 0, j = 0; i < meminfo.nr_banks; i++) {
struct membank *bank = &meminfo.bank[j];