Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp166843imu; Wed, 21 Nov 2018 17:24:47 -0800 (PST) X-Google-Smtp-Source: AJdET5ci85lfL4MzMeb96fRLegl6qlSkKuaQGkqEbPJYpey97Fs+eXHYIOf9+xkmv8y+40RD8X+4 X-Received: by 2002:aa7:85d7:: with SMTP id z23mr9574264pfn.205.1542849887163; Wed, 21 Nov 2018 17:24:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1542849887; cv=none; d=google.com; s=arc-20160816; b=JUBzY+LjXzUCJbOdVKOLIL1scNUi/hHqIi0NRO/5zxkw3Bu6w3LPASmp1RyegVioyC H86uAIlFXnARqUWYELmiMj+m3D5PoDhTuwjat4E7qZmkDMSKvdDUdFjaVLZI/YU4H9aK GyilO8+wcQjmFCF/3KOkegsMTj/zjdPJxZPuAbedlm6dZRYelGLfAvhoHMlnrsYUnWlH /Afi+U9Slb4USqmBFExwT7hdGQhiMdbKtacTvMFln2H52bT5/QY4NdUfk874u36M8HRy wnxhacm1vEgIM+RLVduTd9a0yTGhDVLjOV40wFOABuDIzoWf3kVY2Ixs60mJUKRaTdsg GUrQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=qir9nTJtRpi6R26goONLt7yW85BmyxzYD7m83QkDlKA=; b=wP6PttxqboOuXSgeN+gxvBEnS8QCkrMKOkpqM2aObCbsF681ALrcFduCJGp9/pAWC9 CiTyvmg/0sQZf3v9WNnyuP11+tCR+p6rBIkkNf1YkmRbEGA4OyQhhE4ggu+Lcr/isP+U tY3d1IknRtY9Whmx1MuebDq7nf8igUVLgT/OFp3LpL+lC1iRkYgO9uh2MIUUwsqegq/R TnQMLSP4pY0aZHKfXVehPzU1bMlm4eoiQ2QsjXrdGuJitArwSwQMrJlFOQ22yr18RX+N KGQg8z+VVwi7OWh16KmFJ6tSFIcEVBanIOFWreyCKh4LxEFnLbp0D+VI+Cml/HL2UOYZ wViQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=phXBmO0j; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t12si11803359plr.311.2018.11.21.17.24.32; Wed, 21 Nov 2018 17:24:47 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=phXBmO0j; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388870AbeKVFqc (ORCPT + 99 others); Thu, 22 Nov 2018 00:46:32 -0500 Received: from mail.kernel.org ([198.145.29.99]:41764 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732198AbeKVFqa (ORCPT ); Thu, 22 Nov 2018 00:46:30 -0500 Received: from localhost (5356596B.cm-6-7b.dynamic.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 9AA16214DB; Wed, 21 Nov 2018 19:10:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1542827457; bh=jAGYiL2wiLnZrTCSx3PJTqiMwtkNSpjrTogbPMj2Ilw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=phXBmO0jh0AdBEfzdUmQqz+67IgcOBVJMT7q16Zx7eE+ICcjttK60cyoYmLQJuAhn bc/aD/XkyLS65+ZXQLPXbCFV8pa6RjA6al42H4ChnebXsfGh6gRhRXSeQZdfc4EMaG rBz/EiOO1kahqhwmcYsBROhKNkGlYVaP3bix689I= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Russell King , Florian Fainelli , Tony Lindgren , Marc Zyngier , "David A. Long" Subject: [PATCH 4.9 39/59] ARM: bugs: add support for per-processor bug checking Date: Wed, 21 Nov 2018 20:06:54 +0100 Message-Id: <20181121183509.786011017@linuxfoundation.org> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20181121183508.262873520@linuxfoundation.org> References: <20181121183508.262873520@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.9-stable review patch. If anyone has any objections, please let me know. ------------------ From: Russell King Commit 9d3a04925deeabb97c8e26d940b501a2873e8af3 upstream. Add support for per-processor bug checking - each processor function descriptor gains a function pointer for this check, which must not be an __init function. If non-NULL, this will be called whenever a CPU enters the kernel via which ever path (boot CPU, secondary CPU startup, CPU resuming, etc.) This allows processor specific bug checks to validate that workaround bits are properly enabled by firmware via all entry paths to the kernel. Signed-off-by: Russell King Reviewed-by: Florian Fainelli Boot-tested-by: Tony Lindgren Reviewed-by: Tony Lindgren Acked-by: Marc Zyngier Signed-off-by: David A. Long Signed-off-by: Greg Kroah-Hartman --- arch/arm/include/asm/proc-fns.h | 4 ++++ arch/arm/kernel/bugs.c | 4 ++++ arch/arm/mm/proc-macros.S | 3 ++- 3 files changed, 10 insertions(+), 1 deletion(-) --- a/arch/arm/include/asm/proc-fns.h +++ b/arch/arm/include/asm/proc-fns.h @@ -37,6 +37,10 @@ extern struct processor { */ void (*_proc_init)(void); /* + * Check for processor bugs + */ + void (*check_bugs)(void); + /* * Disable any processor specifics */ void (*_proc_fin)(void); --- a/arch/arm/kernel/bugs.c +++ b/arch/arm/kernel/bugs.c @@ -5,6 +5,10 @@ void check_other_bugs(void) { +#ifdef MULTI_CPU + if (processor.check_bugs) + processor.check_bugs(); +#endif } void __init check_bugs(void) --- a/arch/arm/mm/proc-macros.S +++ b/arch/arm/mm/proc-macros.S @@ -274,13 +274,14 @@ mcr p15, 0, ip, c7, c10, 4 @ data write barrier .endm -.macro define_processor_functions name:req, dabort:req, pabort:req, nommu=0, suspend=0 +.macro define_processor_functions name:req, dabort:req, pabort:req, nommu=0, suspend=0, bugs=0 .type \name\()_processor_functions, #object .align 2 ENTRY(\name\()_processor_functions) .word \dabort .word \pabort .word cpu_\name\()_proc_init + .word \bugs .word cpu_\name\()_proc_fin .word cpu_\name\()_reset .word cpu_\name\()_do_idle