]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - arch/sparc/mm/init_64.c
sparc64: Defer cpu_data() setup until end of per-cpu data initialization.
[mv-sheeva.git] / arch / sparc / mm / init_64.c
index f26a352c08a068b0b915ddc0d309c394cb2fc966..785f0a24fcbf37d4bc2a83551479d7a397fcb1aa 100644 (file)
@@ -1799,16 +1799,15 @@ 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();
-
        prom_build_devicetree();
+       of_populate_present_mask();
 
-       if (tlb_type == hypervisor)
+       if (tlb_type == hypervisor) {
                sun4v_mdesc_init();
+               mdesc_populate_present_mask(CPU_MASK_ALL_PTR);
+       }
+
+       real_setup_per_cpu_areas();
 
        /* Once the OF device tree and MDESC have been setup, we know
         * the list of possible cpus.  Therefore we can allocate the