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 <[email protected]>
> ---
>  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"


-- 
Regards/Gruss,
    Boris.

Sent from a fat crate under my desk. Formatting is fine.
--
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to