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

From: Cihula, Joseph
Date: Thu Jul 24 2008 - 12:50:25 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 2.6.26.

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

--- linux-2.6.26/arch/x86/kernel/e820_32.c 2008-07-13
14:51:29.000000000 -0700
+++ linux-2.6.26-acpi/arch/x86/kernel/e820_32.c 2008-07-23
13:25:44.000000000 -0700
@@ -198,6 +198,7 @@
case E820_RAM: res->name = "System RAM"; break;
case E820_ACPI: res->name = "ACPI Tables"; break;
case E820_NVS: res->name = "ACPI Non-volatile Storage";
break;
+ case E820_UNUSABLE: res->name = "Unusable memory";
break;
default: res->name = "reserved";
}
res->start = e820.map[i].addr;
@@ -604,6 +605,9 @@
case E820_NVS:
printk("(ACPI NVS)\n");
break;
+ case E820_UNUSABLE:
+ printk("(unusable)\n");
+ break;
default: printk("type %u\n", e820.map[i].type);
break;
}
--- linux-2.6.26/arch/x86/kernel/e820_64.c 2008-07-13
14:51:29.000000000 -0700
+++ linux-2.6.26-acpi/arch/x86/kernel/e820_64.c 2008-07-23
13:27:29.000000000 -0700
@@ -336,6 +336,7 @@
case E820_RAM: res->name = "System RAM"; break;
case E820_ACPI: res->name = "ACPI Tables"; break;
case E820_NVS: res->name = "ACPI Non-volatile Storage";
break;
+ case E820_UNUSABLE: res->name = "Unusable memory";
break;
default: res->name = "reserved";
}
res->start = e820.map[i].addr;
@@ -495,6 +496,9 @@
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;
--- linux-2.6.26/include/asm-x86/e820.h 2008-07-13 14:51:29.000000000
-0700
+++ linux-2.6.26-acpi/include/asm-x86/e820.h 2008-07-23
13:25:44.000000000 -0700
@@ -8,6 +8,7 @@
#define E820_RESERVED 2
#define E820_ACPI 3
#define E820_NVS 4
+#define E820_UNUSABLE 5

#ifndef __ASSEMBLY__
struct e820entry {
<<linux-acpi-2.6.26.patch>>

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