arm64: Delay ELF HWCAP initialisation until all CPUs are up
[cascardo/linux.git] / arch / arm64 / kernel / setup.c
index 1d503e2..4f0408e 100644 (file)
@@ -196,20 +196,13 @@ static void __init smp_build_mpidr_hash(void)
        __flush_dcache_area(&mpidr_hash, sizeof(struct mpidr_hash));
 }
 
-static void __init setup_processor(void)
+void __init setup_cpu_features(void)
 {
        u64 features;
        s64 block;
        u32 cwg;
        int cls;
 
-       pr_info("Boot CPU: AArch64 Processor [%08x]\n", read_cpuid_id());
-
-       sprintf(init_utsname()->machine, ELF_PLATFORM);
-       elf_hwcap = 0;
-
-       cpuinfo_store_boot_cpu();
-
        /*
         * Check for sane CTR_EL0.CWG value.
         */
@@ -293,6 +286,13 @@ static void __init setup_processor(void)
 #endif
 }
 
+static void __init setup_processor(void)
+{
+       pr_info("Boot CPU: AArch64 Processor [%08x]\n", read_cpuid_id());
+       sprintf(init_utsname()->machine, ELF_PLATFORM);
+       cpuinfo_store_boot_cpu();
+}
+
 static void __init setup_machine_fdt(phys_addr_t dt_phys)
 {
        void *dt_virt = fixmap_remap_fdt(dt_phys);