Commit 55a8173c authored by Nicolas Pitre's avatar Nicolas Pitre Committed by Nicolas Pitre

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: default avatarNicolas Pitre <nicolas.pitre@linaro.org>
parent 27a3f0e9
...@@ -381,8 +381,6 @@ void __init bootmem_init(void) ...@@ -381,8 +381,6 @@ void __init bootmem_init(void)
*/ */
arm_bootmem_free(min, max_low, max_high); arm_bootmem_free(min, max_low, max_high);
high_memory = __va(((phys_addr_t)max_low << PAGE_SHIFT) - 1) + 1;
/* /*
* This doesn't seem to be used by the Linux memory manager any * This doesn't seem to be used by the Linux memory manager any
* more, but is used by ll_rw_block. If we can get rid of it, we * more, but is used by ll_rw_block. If we can get rid of it, we
......
...@@ -860,6 +860,7 @@ void __init sanity_check_meminfo(void) ...@@ -860,6 +860,7 @@ void __init sanity_check_meminfo(void)
} }
#endif #endif
meminfo.nr_banks = j; meminfo.nr_banks = j;
high_memory = __va(lowmem_limit - 1) + 1;
memblock_set_current_limit(lowmem_limit); memblock_set_current_limit(lowmem_limit);
} }
......
...@@ -29,6 +29,8 @@ void __init arm_mm_memblock_reserve(void) ...@@ -29,6 +29,8 @@ void __init arm_mm_memblock_reserve(void)
void __init sanity_check_meminfo(void) void __init sanity_check_meminfo(void)
{ {
phys_addr_t end = bank_phys_end(&meminfo.bank[meminfo.nr_banks - 1]);
high_memory = __va(end - 1) + 1;
} }
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment