[PATCH 00/11] Support System RAM resource type and EINJ to NVDIMM

From: Toshi Kani
Date: Mon Dec 14 2015 - 18:37:36 EST


This patch-set introduces a new I/O resource type, IORESOURCE_SYSTEM_RAM,
for System RAM while keeping the current IORESOURCE_MEM type bit set for
all memory-mapped ranges (including System RAM) for backward compatibility.
With the new System RAM type, walking through the iomem resource table
no longer requires to test with strcmp() against "System RAM". After this
infrastructure update, this patch changes EINJ to support NVDIMM.

Patches 1-2 add a new System RAM type, and make resource interfaces work
with resource flags with modifier bits set.

Patches 3-7 set the System RAM type to System RAM ranges.

Patches 8-10 extend resource interfaces to check System RAM ranges with
the System RAM type.

Patch 11 changes the EINJ driver to allow injecting a memory error to
NVDIMM.

---
v1:
- Searching for System RAM in the resource table should not require
strcmp(). (Borislav Petkov)
- Add a new System RAM type as a modifier to IORESOURCE_MEM.
(Linus Torvalds)
- NVDIMM check should remain with strcmp() against "Persistent Memory".
(Dan Williams)
- Reset patch version.

prev-v3:
- Check the param2 value before target memory type. (Tony Luck)
- Add a blank line before if-statement. Remove an unnecessary brakets.
(Borislav Petkov)

prev-v2:
- Change the EINJ driver to call region_intersects_ram() for checking
RAM with a specified size. (Dan Williams)

---
Toshi Kani (11):
01/11 resource: Add System RAM resource type
02/11 resource: make resource flags handled properly
03/11 x86/e820: Set IORESOURCE_SYSTEM_RAM to System RAM
04/11 arch: Set IORESOURCE_SYSTEM_RAM to System RAM
05/11 xen: Set IORESOURCE_SYSTEM_RAM to System RAM
06/11 kexec: Set IORESOURCE_SYSTEM_RAM to System RAM
07/11 memory-hotplug: Set IORESOURCE_SYSTEM_RAM to System RAM
08/11 memremap: Change region_intersects() to use System RAM type
09/11 resource: Change walk_system_ram to use System RAM type
10/11 arm/samsung: Change s3c_pm_run_res() to use System RAM type
11/11 ACPI/EINJ: Allow memory error injection to NVDIMM

---
arch/arm/kernel/setup.c | 6 ++---
arch/arm/plat-samsung/pm-check.c | 4 +--
arch/arm64/kernel/setup.c | 6 ++---
arch/avr32/kernel/setup.c | 6 ++---
arch/ia64/kernel/efi.c | 6 +++--
arch/ia64/kernel/setup.c | 6 ++---
arch/m32r/kernel/setup.c | 4 +--
arch/mips/kernel/setup.c | 10 +++++---
arch/parisc/mm/init.c | 6 ++---
arch/powerpc/mm/mem.c | 2 +-
arch/s390/kernel/setup.c | 8 +++---
arch/score/kernel/setup.c | 2 +-
arch/sh/kernel/setup.c | 8 +++---
arch/sparc/mm/init_64.c | 8 +++---
arch/tile/kernel/setup.c | 11 +++++---
arch/unicore32/kernel/setup.c | 6 ++---
arch/x86/kernel/e820.c | 18 +++++++++++++-
arch/x86/kernel/setup.c | 6 ++---
drivers/acpi/apei/einj.c | 15 ++++++++---
drivers/xen/balloon.c | 2 +-
include/linux/ioport.h | 11 ++++++++
include/linux/mm.h | 3 ++-
kernel/kexec_core.c | 6 ++---
kernel/kexec_file.c | 2 +-
kernel/memremap.c | 13 +++++-----
kernel/resource.c | 54 +++++++++++++++++++++-------------------
mm/memory_hotplug.c | 2 +-
27 files changed, 140 insertions(+), 91 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/