[PATCH] acpi: Add support for AddressRangeUnusuable ACPI memory type

From: Cihula, Joseph
Date: Fri Aug 01 2008 - 13:50:39 EST


Add support for the E820_UNUSABLE memory type, which is defined in
Revision 3.0b (Oct. 10, 2006) of the ACPI Specification on p. 394 Table
14-1:
AddressRangeUnusuable
This range of address contains memory in which errors have been
detected. This range must not be used by the OSPM.

This patch applies cleanly to the tip of the current git tree (with the
merged 32/64b e820.c file).

Signed-off-by: Joseph Cihula <joseph.cihula@xxxxxxxxx>
Signed-off-by: Shane Wang <shane.wang@xxxxxxxxx>
Signed-off-by: Gang Wei <gang.wei@xxxxxxxxx>

diff -uprN linux.trees.git/arch/x86/kernel/e820.c
acpi-linux/arch/x86/kernel/e820.c
--- linux.trees.git/arch/x86/kernel/e820.c 2008-08-01
08:14:10.000000000 -0700
+++ acpi-linux/arch/x86/kernel/e820.c 2008-08-01 08:24:19.000000000
-0700
@@ -148,6 +148,9 @@ void __init e820_print_map(char *who)
case E820_NVS:
printk(KERN_CONT "(ACPI NVS)\n");
break;
+ case E820_UNUSABLE:
+ printk("(unusable)\n");
+ break;
default:
printk(KERN_CONT "type %u\n", e820.map[i].type);
break;
@@ -1260,6 +1263,7 @@ static inline const char *e820_type_to_s
case E820_RAM: return "System RAM";
case E820_ACPI: return "ACPI Tables";
case E820_NVS: return "ACPI Non-volatile Storage";
+ case E820_UNUSABLE: return "Unusable memory";
default: return "reserved";
}
}
diff -uprN linux.trees.git/include/asm-x86/e820.h
acpi-linux/include/asm-x86/e820.h
--- linux.trees.git/include/asm-x86/e820.h 2008-08-01
08:14:24.000000000 -0700
+++ acpi-linux/include/asm-x86/e820.h 2008-08-01 08:25:55.000000000
-0700
@@ -43,6 +43,7 @@
#define E820_RESERVED 2
#define E820_ACPI 3
#define E820_NVS 4
+#define E820_UNUSABLE 5

/* reserved RAM used by kernel itself */
#define E820_RESERVED_KERN 128

Attachment: linux-acpi-tip.patch
Description: linux-acpi-tip.patch