aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mm
diff options
context:
space:
mode:
authorNicolas Pitre <nicolas.pitre@linaro.org>2011-09-18 22:40:00 -0400
committerNicolas Pitre <nico@fluxnic.net>2011-11-18 13:51:21 -0500
commit55a8173cfe1c6b489f8f5705282c762aed2e265e (patch)
treec2a32dda1fe7f08c542a8077895c077bc4a096cf /arch/arm/mm
parent27a3f0e91bed0f4dcf0a363e5f5938126d1ff4e5 (diff)
ARM: move initialization of the high_memory variable earlier
Some upcoming changes must know the VMALLOC_START value, which is based on high_memory, before bootmem_init() is called. The best location to set it is in sanity_check_meminfo() where the needed computation is already done, and in the non MMU case it is trivial to do now that the meminfo array is already sorted at that point. Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Diffstat (limited to 'arch/arm/mm')
-rw-r--r--arch/arm/mm/init.c2
-rw-r--r--arch/arm/mm/mmu.c1
-rw-r--r--arch/arm/mm/nommu.c2
3 files changed, 3 insertions, 2 deletions
diff --git a/arch/arm/mm/init.c b/arch/arm/mm/init.c
index d366051e14fe..786adddf1a86 100644
--- a/arch/arm/mm/init.c
+++ b/arch/arm/mm/init.c
@@ -381,8 +381,6 @@ void __init bootmem_init(void)
381 */ 381 */
382 arm_bootmem_free(min, max_low, max_high); 382 arm_bootmem_free(min, max_low, max_high);
383 383
384 high_memory = __va(((phys_addr_t)max_low << PAGE_SHIFT) - 1) + 1;
385
386 /* 384 /*
387 * This doesn't seem to be used by the Linux memory manager any 385 * This doesn't seem to be used by the Linux memory manager any
388 * more, but is used by ll_rw_block. If we can get rid of it, we 386 * more, but is used by ll_rw_block. If we can get rid of it, we
diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c
index dc8c550e6cbd..0aa8b7d5b21d 100644
--- a/arch/arm/mm/mmu.c
+++ b/arch/arm/mm/mmu.c
@@ -860,6 +860,7 @@ void __init sanity_check_meminfo(void)
860 } 860 }
861#endif 861#endif
862 meminfo.nr_banks = j; 862 meminfo.nr_banks = j;
863 high_memory = __va(lowmem_limit - 1) + 1;
863 memblock_set_current_limit(lowmem_limit); 864 memblock_set_current_limit(lowmem_limit);
864} 865}
865 866
diff --git a/arch/arm/mm/nommu.c b/arch/arm/mm/nommu.c
index 941a98c9e8aa..9348730a6ba5 100644
--- a/arch/arm/mm/nommu.c
+++ b/arch/arm/mm/nommu.c
@@ -29,6 +29,8 @@ void __init arm_mm_memblock_reserve(void)
29 29
30void __init sanity_check_meminfo(void) 30void __init sanity_check_meminfo(void)
31{ 31{
32 phys_addr_t end = bank_phys_end(&meminfo.bank[meminfo.nr_banks - 1]);
33 high_memory = __va(end - 1) + 1;
32} 34}
33 35
34/* 36/*