From patchwork Thu Jun 19 14:27:35 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Borislav Petkov X-Patchwork-Id: 4383471 Return-Path: X-Original-To: patchwork-linux-acpi@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 5C684BEEAA for ; Thu, 19 Jun 2014 14:27:46 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 4F77820384 for ; Thu, 19 Jun 2014 14:27:45 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 38B772034C for ; Thu, 19 Jun 2014 14:27:44 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757073AbaFSO1m (ORCPT ); Thu, 19 Jun 2014 10:27:42 -0400 Received: from mail.skyhub.de ([78.46.96.112]:59169 "EHLO mail.skyhub.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756754AbaFSO1l (ORCPT ); Thu, 19 Jun 2014 10:27:41 -0400 X-Virus-Scanned: Nedap ESD1 at mail.skyhub.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alien8.de; s=alien8; t=1403188060; bh=ufS9EtMPv/+6uqyL82QpuXaAD3g74XFCLVHbw/FUL8c=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:In-Reply-To; b=LzeLJ4/9ohDxjy97IjcA1PekDMhYl8TkzmtCET xNi/GvbLpO2i8UuWREeHPBNLkFbIUx0IfOlQg8vgeYp64pLKVqM5DF1K7qumpRtwGFF eHumirDZPe2fPkCFrD9T9Jab5aaAoQ/cYYarCSNTdckuM3uv9YYwaTQuNsoZCxLviY= Received: from mail.skyhub.de ([127.0.0.1]) by localhost (door.skyhub.de [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id 1QuTy9aIjCkX; Thu, 19 Jun 2014 16:27:39 +0200 (CEST) Received: from liondog.tnic (p5DDC5A3D.dip0.t-ipconnect.de [93.220.90.61]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id 282401DA26C; Thu, 19 Jun 2014 16:27:39 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alien8.de; s=alien8; t=1403188059; bh=ufS9EtMPv/+6uqyL82QpuXaAD3g74XFCLVHbw/FUL8c=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:In-Reply-To; b=YrqYRpR+UujVtajkAyTKrDcz4FoT1F0B9e10qN C1MZndcCf/Y8eY2oTEUTr1catQhgFCHspuAny/vgI3JdjjJCTJCiL8cOip19lA12ZQY ZGsGLl+53MlbPIK679V5hzyVB6ltRabY9Y84Wp6IAO4uA8aFGXbvzxCk4yLqvChF3w= Received: by liondog.tnic (Postfix, from userid 1000) id 18F3D1009CB; Thu, 19 Jun 2014 16:27:35 +0200 (CEST) Date: Thu, 19 Jun 2014 16:27:35 +0200 From: Borislav Petkov To: Tomasz Nowicki Cc: rjw@rjwysocki.net, lenb@kernel.org, tony.luck@intel.com, m.chehab@samsung.com, bp@suse.de, linux-edac@vger.kernel.org, x86@kernel.org, linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org, linaro-acpi@lists.linaro.org, rric@kernel.org Subject: Re: [PATCH v3 2/5] acpi, apei, ghes: Introduce ARCH_HAS_ACPI_APEI_NMI to make NMI error notification a GHES feature. Message-ID: <20140619142734.GE22025@pd.tnic> References: <1402657380-18539-1-git-send-email-tomasz.nowicki@linaro.org> <1402657380-18539-3-git-send-email-tomasz.nowicki@linaro.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <1402657380-18539-3-git-send-email-tomasz.nowicki@linaro.org> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-acpi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-acpi@vger.kernel.org X-Spam-Status: No, score=-6.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,T_DKIM_INVALID,T_RP_MATCHES_RCVD,UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP On Fri, Jun 13, 2014 at 01:02:57PM +0200, Tomasz Nowicki wrote: > Currently APEI depends on x86 architecture. It is because of NMI hardware > error notification of GHES which is currently supported by x86 only. > However, many other APEI features can be still used perfectly by other > architectures. > > This commit adds ARCH_HAS_ACPI_APEI_NMI which will be used in next patches > for NMI related code isolation in ghes.c file. Only NMI error notification > feature depends on x86 so let it be hard selected for x86 arch. > > Signed-off-by: Tomasz Nowicki > --- > arch/x86/Kconfig | 1 + > drivers/acpi/apei/Kconfig | 8 +++++++- > 2 files changed, 8 insertions(+), 1 deletion(-) > > diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig > index 3fc9b12..e1dc819 100644 > --- a/arch/x86/Kconfig > +++ b/arch/x86/Kconfig > @@ -24,6 +24,7 @@ config X86 > select ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS > select ARCH_MIGHT_HAVE_PC_PARPORT > select ARCH_MIGHT_HAVE_PC_SERIO > + select ARCH_HAS_ACPI_APEI_NMI > select HAVE_AOUT if X86_32 > select HAVE_UNSTABLE_SCHED_CLOCK > select ARCH_SUPPORTS_NUMA_BALANCING if X86_64 > diff --git a/drivers/acpi/apei/Kconfig b/drivers/acpi/apei/Kconfig > index c4dac71..9f6c3ec 100644 > --- a/drivers/acpi/apei/Kconfig > +++ b/drivers/acpi/apei/Kconfig > @@ -3,7 +3,6 @@ config ACPI_APEI > select MISC_FILESYSTEMS > select PSTORE > select UEFI_CPER > - depends on X86 Now this can practically be enabled on any architecture, AFAICT. Which is wrong. I think a better solution would be to have another HAVE_ symbol which each arch which sports APEI selects. Like in the diff below ontop of this patch, also incorporating Robert's comments. You'll have to do select HAVE_ACPI_APEI on arm too. Hmm? Index: b/arch/x86/Kconfig =================================================================== --- a/arch/x86/Kconfig 2014-06-19 16:25:48.118452980 +0200 +++ b/arch/x86/Kconfig 2014-06-19 16:24:57.270453451 +0200 @@ -24,7 +24,6 @@ config X86 select ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS select ARCH_MIGHT_HAVE_PC_PARPORT select ARCH_MIGHT_HAVE_PC_SERIO - select ARCH_HAS_ACPI_APEI_NMI select HAVE_AOUT if X86_32 select HAVE_UNSTABLE_SCHED_CLOCK select ARCH_SUPPORTS_NUMA_BALANCING if X86_64 @@ -132,6 +131,8 @@ config X86 select HAVE_CC_STACKPROTECTOR select GENERIC_CPU_AUTOPROBE select HAVE_ARCH_AUDITSYSCALL + select HAVE_ACPI_APEI + select HAVE_ACPI_APEI_NMI config INSTRUCTION_DECODER def_bool y Index: b/drivers/acpi/apei/Kconfig =================================================================== --- a/drivers/acpi/apei/Kconfig 2014-06-19 16:25:48.118452980 +0200 +++ b/drivers/acpi/apei/Kconfig 2014-06-19 16:24:32.710453679 +0200 @@ -1,8 +1,15 @@ +config HAVE_ACPI_APEI + bool + +config HAVE_ACPI_APEI_NMI + bool + config ACPI_APEI bool "ACPI Platform Error Interface (APEI)" select MISC_FILESYSTEMS select PSTORE select UEFI_CPER + depends on HAVE_ACPI_APEI help APEI allows to report errors (for example from the chipset) to the operating system. This improves NMI handling @@ -25,12 +32,6 @@ config ACPI_APEI_GHES by firmware to produce more valuable hardware error information for Linux. -config ARCH_HAS_ACPI_APEI_NMI - bool - help - Firmware first mode can use NMI notification mechanism to report errors - to operating system. This feature is currently supported by X86 - architecture only. config ACPI_APEI_PCIEAER bool "APEI PCIe AER logging/recovering support"