Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754598AbbGXJqo (ORCPT ); Fri, 24 Jul 2015 05:46:44 -0400 Received: from eu-smtp-delivery-143.mimecast.com ([207.82.80.143]:18835 "EHLO eu-smtp-delivery-143.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754299AbbGXJoo (ORCPT ); Fri, 24 Jul 2015 05:44:44 -0400 From: "Suzuki K. Poulose" To: linux-arm-kernel@lists.infradead.org Cc: catalin.marinas@arm.com, will.deacon@arm.com, mark.rutland@arm.com, edward.nevill@linaro.org, aph@redhat.com, linux-kernel@vger.kernel.org, "Suzuki K. Poulose" Subject: [RFC PATCH 03/10] arm64: Delay ELF HWCAP initialisation until all CPUs are up Date: Fri, 24 Jul 2015 10:43:49 +0100 Message-Id: <1437731037-25795-4-git-send-email-suzuki.poulose@arm.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1437731037-25795-1-git-send-email-suzuki.poulose@arm.com> References: <1437731037-25795-1-git-send-email-suzuki.poulose@arm.com> X-OriginalArrivalTime: 24 Jul 2015 09:44:42.0449 (UTC) FILETIME=[5DC36410:01D0C5F5] X-MC-Unique: sF6ID0PlSQ2qExcliyJH2Q-1 Content-Type: text/plain; charset=WINDOWS-1252 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by mail.home.local id t6O9knSM027124 Content-Length: 2025 Lines: 75 From: "Suzuki K. Poulose" Delay the ELF HWCAP initialisation untill all the CPUs are up. This is in preparation for detecting the common features across the CPUS and creating a consistent ELF HWCAP for the system. Signed-off-by: Suzuki K. Poulose --- arch/arm64/kernel/setup.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/arch/arm64/kernel/setup.c b/arch/arm64/kernel/setup.c index a30cf1d..2a36d27 100644 --- a/arch/arm64/kernel/setup.c +++ b/arch/arm64/kernel/setup.c @@ -103,6 +103,8 @@ static struct resource mem_res[] = { } }; +static void setup_processor_features(void); + #define kernel_code mem_res[0] #define kernel_data mem_res[1] @@ -212,6 +214,7 @@ static void __init hyp_mode_check(void) void __init do_post_cpus_up_work(void) { + setup_processor_features(); hyp_mode_check(); apply_alternatives_all(); } @@ -223,19 +226,12 @@ void __init up_late_init(void) } #endif /* CONFIG_UP_LATE_INIT */ -static void __init setup_processor(void) +static void __init setup_processor_features(void) { u64 features, 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. */ @@ -312,6 +308,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); -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/