diff options
author | David S. Miller <davem@davemloft.net> | 2008-02-13 19:20:45 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-04-23 23:32:11 -0700 |
commit | b97094560b991af5c62391014e72bfa4c3a3701f (patch) | |
tree | fbdc76cea526c0170982419717b6a3fe6a64c0f3 /arch/sparc64/mm/init.c | |
parent | 9422273ba7d139537720c8c47514925d9a621e0d (diff) |
[SPARC64]: Call real_setup_per_cpu_areas() earlier and use lmb_alloc().
We have to do it like this before we can move the PROM and MDESC device
tree code over to using lmb_alloc().
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc64/mm/init.c')
-rw-r--r-- | arch/sparc64/mm/init.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/arch/sparc64/mm/init.c b/arch/sparc64/mm/init.c index 90e644a0e93..658ec462ed4 100644 --- a/arch/sparc64/mm/init.c +++ b/arch/sparc64/mm/init.c @@ -1208,6 +1208,12 @@ void __init paging_init(void) if (tlb_type == hypervisor) sun4v_ktsb_register(); + /* We must setup the per-cpu areas before we pull in the + * PROM and the MDESC. The code there fills in cpu and + * other information into per-cpu data structures. + */ + real_setup_per_cpu_areas(); + /* Setup bootmem... */ pages_avail = 0; last_valid_pfn = end_pfn = bootmem_init(&pages_avail, phys_base); @@ -1216,8 +1222,6 @@ void __init paging_init(void) kernel_physical_mapping_init(); - real_setup_per_cpu_areas(); - prom_build_devicetree(); if (tlb_type == hypervisor) |