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, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>