diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-10-27 19:09:59 +0200 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-10-27 22:41:39 +0200 |
commit | 4e929d2bcf13eeaa9636448c55690b383a910391 (patch) | |
tree | c50dbc31dc4d2c6fee40c17fec06ef90c84a5ee6 /arch | |
parent | ARM: 6465/1: Fix data abort accessing proc_info from __lookup_processor_type (diff) | |
download | linux-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.h | 7 | ||||
-rw-r--r-- | arch/arm/mm/mmu.c | 4 |
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]; |