diff options
author | David S. Miller <davem@davemloft.net> | 2008-02-13 22:20:45 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-04-24 02:32:11 -0400 |
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 90e644a0e933..658ec462ed45 100644 --- a/arch/sparc64/mm/init.c +++ b/arch/sparc64/mm/init.c | |||
@@ -1208,6 +1208,12 @@ void __init paging_init(void) | |||
1208 | if (tlb_type == hypervisor) | 1208 | if (tlb_type == hypervisor) |
1209 | sun4v_ktsb_register(); | 1209 | sun4v_ktsb_register(); |
1210 | 1210 | ||
1211 | /* We must setup the per-cpu areas before we pull in the | ||
1212 | * PROM and the MDESC. The code there fills in cpu and | ||
1213 | * other information into per-cpu data structures. | ||
1214 | */ | ||
1215 | real_setup_per_cpu_areas(); | ||
1216 | |||
1211 | /* Setup bootmem... */ | 1217 | /* Setup bootmem... */ |
1212 | pages_avail = 0; | 1218 | pages_avail = 0; |
1213 | last_valid_pfn = end_pfn = bootmem_init(&pages_avail, phys_base); | 1219 | last_valid_pfn = end_pfn = bootmem_init(&pages_avail, phys_base); |
@@ -1216,8 +1222,6 @@ void __init paging_init(void) | |||
1216 | 1222 | ||
1217 | kernel_physical_mapping_init(); | 1223 | kernel_physical_mapping_init(); |
1218 | 1224 | ||
1219 | real_setup_per_cpu_areas(); | ||
1220 | |||
1221 | prom_build_devicetree(); | 1225 | prom_build_devicetree(); |
1222 | 1226 | ||
1223 | if (tlb_type == hypervisor) | 1227 | if (tlb_type == hypervisor) |