lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 22 Jul 2014 11:20:10 +0200
From:	Tomasz Nowicki <tomasz.nowicki@...aro.org>
To:	rjw@...ysocki.net, lenb@...nel.org, tony.luck@...el.com,
	bp@...en8.de, m.chehab@...sung.com, bp@...e.de, rric@...nel.org
Cc:	linux-edac@...r.kernel.org, x86@...nel.org,
	linux-acpi@...r.kernel.org, linux-kernel@...r.kernel.org,
	linaro-acpi@...ts.linaro.org,
	Tomasz Nowicki <tomasz.nowicki@...aro.org>
Subject: [PATCH v5 0/3] APEI: Make APEI architecture independent.

APEI is currently implemented so that it depends on x86 hardware.
The primary dependency is that GHES uses the x86 NMI for hardware
error notification and MCE for memory error handling. These patches
remove that dependency.

Other APEI features such as error reporting via external IRQ, error
serialization, or error injection, do not require changes to use them
on non-x86 architectures.

The following patch set eliminates the APEI Kconfig x86 dependency
by making these changes:
- treat NMI notification as GHES architecture - HAVE_ACPI_APEI_NMI
- group and wrap around #ifdef CONFIG_HAVE_ACPI_APEI_NMI code which
  is used only for NMI path
- identify architectural boxes and abstract it accordingly (tlb flush and MCE)
- rework ioremap for both IRQ and NMI context

NMI code is kept in ghes.c file since NMI and IRQ context are tightly coupled.

Note, these patches introduce no functional changes for x86. The NMI notification
feature is hard selected for x86. Architectures that want to use this
feature should also provide NMI code infrastructure.

V1->V2
- address Borislav's comment
- abstract arch-specific calls instead of wrapping into the #ifdef

V2->V3
- address Robert's comment
- disable ACPI_APEI_NMI selection so that it is hard selected by arch Kconfig
- rename ACPI_APEI_NMI to ARCH_HAS_ACPI_APEI_NMI

V3->V4
- do not abstract NMI calls for archs which do not support it
- merge some of patches to make review process easier

V4->V5
- markers for preprocessor statements (#else, #endif) around long code block

Tomasz Nowicki (3):
  apei, mce: Factor out APEI architecture specific MCE calls.
  acpi, apei, ghes: Make NMI error notification to be GHES architecture
    extension.
  acpi, apei, ghes: Factor out ioremap virtual memory for IRQ and NMI
    context.

 arch/x86/Kconfig              |   2 +
 arch/x86/kernel/acpi/Makefile |   1 +
 arch/x86/kernel/acpi/apei.c   |  62 +++++++++++++++
 drivers/acpi/apei/Kconfig     |   8 +-
 drivers/acpi/apei/apei-base.c |  13 ++++
 drivers/acpi/apei/ghes.c      | 173 +++++++++++++++++++++++++++---------------
 drivers/acpi/apei/hest.c      |  29 +------
 include/acpi/apei.h           |   4 +
 include/linux/nmi.h           |   4 +
 9 files changed, 204 insertions(+), 92 deletions(-)
 create mode 100644 arch/x86/kernel/acpi/apei.c

-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists