Commit 3b2a7e23 authored by David S. Miller's avatar David S. Miller

[SPARC64]: Initialize LMB tables.

Call lmb_add() on available regions, and call lmb_reserve()
on the main kernel image and the ramdisk (if any).
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 4e82c9a6
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
#include <linux/cache.h> #include <linux/cache.h>
#include <linux/sort.h> #include <linux/sort.h>
#include <linux/percpu.h> #include <linux/percpu.h>
#include <linux/lmb.h>
#include <asm/head.h> #include <asm/head.h>
#include <asm/system.h> #include <asm/system.h>
...@@ -910,6 +911,8 @@ static void __init find_ramdisk(unsigned long phys_base) ...@@ -910,6 +911,8 @@ static void __init find_ramdisk(unsigned long phys_base)
initrd_start = ramdisk_image; initrd_start = ramdisk_image;
initrd_end = ramdisk_image + sparc_ramdisk_size; initrd_end = ramdisk_image + sparc_ramdisk_size;
lmb_reserve(initrd_start, initrd_end);
} }
#endif #endif
} }
...@@ -1337,15 +1340,24 @@ void __init paging_init(void) ...@@ -1337,15 +1340,24 @@ void __init paging_init(void)
sun4v_ktsb_init(); sun4v_ktsb_init();
} }
lmb_init();
/* Find available physical memory... */ /* Find available physical memory... */
read_obp_memory("available", &pavail[0], &pavail_ents); read_obp_memory("available", &pavail[0], &pavail_ents);
phys_base = 0xffffffffffffffffUL; phys_base = 0xffffffffffffffffUL;
for (i = 0; i < pavail_ents; i++) for (i = 0; i < pavail_ents; i++) {
phys_base = min(phys_base, pavail[i].phys_addr); phys_base = min(phys_base, pavail[i].phys_addr);
lmb_add(pavail[i].phys_addr, pavail[i].reg_size);
}
lmb_reserve(kern_base, kern_size);
find_ramdisk(phys_base); find_ramdisk(phys_base);
lmb_analyze();
lmb_dump_all();
set_bit(0, mmu_context_bmap); set_bit(0, mmu_context_bmap);
shift = kern_base + PAGE_OFFSET - ((unsigned long)KERNBASE); shift = kern_base + PAGE_OFFSET - ((unsigned long)KERNBASE);
......
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