diff options
author | Chad Reese <creese@caviumnetworks.com> | 2006-05-30 17:16:49 -0700 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2006-06-06 00:15:20 +0100 |
commit | b1c231f5a57cb4a417c38a8a946f1e66db3bb9c0 (patch) | |
tree | 940184596b217cfe65948e8e29d91025e3657d47 /arch/mips/kernel/setup.c | |
parent | ecf52d3c895c8bc069b9ae07c18acf39d846c2ef (diff) | |
download | linux-stable-b1c231f5a57cb4a417c38a8a946f1e66db3bb9c0.tar.gz linux-stable-b1c231f5a57cb4a417c38a8a946f1e66db3bb9c0.tar.bz2 linux-stable-b1c231f5a57cb4a417c38a8a946f1e66db3bb9c0.zip |
[MIPS] Fix sparsemem support.
Move memory_present() in arch/mips/kernel/setup.c. When using sparsemem
extreme, this function does an allocate for bootmem. This would always
fail since init_bootmem hasn't been called yet.
Move memory_present after free_bootmem. This only marks actual memory
ranges as present instead of the entire address space.
Signed-off-by: Chad Reese <creese@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/kernel/setup.c')
-rw-r--r-- | arch/mips/kernel/setup.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/mips/kernel/setup.c b/arch/mips/kernel/setup.c index a481be047696..397a70e651b5 100644 --- a/arch/mips/kernel/setup.c +++ b/arch/mips/kernel/setup.c @@ -355,8 +355,6 @@ static inline void bootmem_init(void) } #endif - memory_present(0, first_usable_pfn, max_low_pfn); - /* Initialize the boot-time allocator with low memory only. */ bootmap_size = init_bootmem(first_usable_pfn, max_low_pfn); @@ -410,6 +408,7 @@ static inline void bootmem_init(void) /* Register lowmem ranges */ free_bootmem(PFN_PHYS(curr_pfn), PFN_PHYS(size)); + memory_present(0, curr_pfn, curr_pfn + size - 1); } /* Reserve the bootmap memory. */ |