x86, e820: add support for AddressRangeUnusuable ACPI memory type
authorCihula, Joseph <joseph.cihula@intel.com>
Wed, 20 Aug 2008 23:43:07 +0000 (16:43 -0700)
committerIngo Molnar <mingo@elte.hu>
Thu, 21 Aug 2008 11:22:13 +0000 (13:22 +0200)
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.

Signed-off-by: Joseph Cihula <joseph.cihula@intel.com>
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Gang Wei <gang.wei@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/e820.c
include/asm-x86/e820.h

index 9af89078f7bb0cb2b6ce7ed958c9483b24d4402e..291e6cd9f9c039257e89fe8ead6e462fb7ac53e9 100644 (file)
@@ -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_string(int e820_type)
        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";
        }
 }
index f52daf176bcbba7c25a04677153bd0429a402050..ca433c36af7ad64b3ee2118d5ab4a41de85d43ff 100644 (file)
@@ -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