[SPARC64]: Initialize MDESC earlier and use lmb_alloc()

Signed-off-by: David S. Miller <davem@davemloft.net>
diff --git a/arch/sparc64/mm/init.c b/arch/sparc64/mm/init.c
index 0abefc8..8e0e867 100644
--- a/arch/sparc64/mm/init.c
+++ b/arch/sparc64/mm/init.c
@@ -1216,6 +1216,9 @@
 
 	prom_build_devicetree();
 
+	if (tlb_type == hypervisor)
+		sun4v_mdesc_init();
+
 	/* Setup bootmem... */
 	pages_avail = 0;
 	last_valid_pfn = end_pfn = bootmem_init(&pages_avail, phys_base);
@@ -1224,9 +1227,6 @@
 
 	kernel_physical_mapping_init();
 
-	if (tlb_type == hypervisor)
-		sun4v_mdesc_init();
-
 	{
 		unsigned long zones_size[MAX_NR_ZONES];
 		unsigned long zholes_size[MAX_NR_ZONES];