ACPICA: ACPI 4.0: Changes for existing ACPI tables.
authorBob Moore <robert.moore@intel.com>
Wed, 24 Jun 2009 05:42:00 +0000 (13:42 +0800)
committerLen Brown <len.brown@intel.com>
Thu, 27 Aug 2009 14:17:21 +0000 (10:17 -0400)
FACS: new flag and new OspmFlags field.
SRAT: x2APIC - add ClockDomain field to descriptor #2

Includes header and disassembler support.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
include/acpi/actbl.h
include/acpi/actbl1.h

index 222733d..0649a56 100644 (file)
@@ -161,17 +161,24 @@ struct acpi_table_facs {
        u32 flags;
        u64 xfirmware_waking_vector;    /* 64-bit version of the Firmware Waking Vector (ACPI 2.0+) */
        u8 version;             /* Version of this table (ACPI 2.0+) */
-       u8 reserved[31];        /* Reserved, must be zero */
+       u8 reserved[3];         /* Reserved, must be zero */
+       u32 ospm_flags;         /* Flags to be set by OSPM (ACPI 4.0) */
+       u8 reserved1[24];       /* Reserved, must be zero */
 };
 
-/* Flag macros */
+/* global_lock flags */
+
+#define ACPI_GLOCK_PENDING          (1)        /* 00: Pending global lock ownership */
+#define ACPI_GLOCK_OWNED            (1<<1)     /* 01: Global lock is owned */
+
+/* Flags  */
 
-#define ACPI_FACS_S4_BIOS_PRESENT (1)  /* 00: S4BIOS support is present */
+#define ACPI_FACS_S4_BIOS_PRESENT   (1)        /* 00: S4BIOS support is present */
+#define ACPI_FACS_64BIT_WAKE        (1<<1)     /* 01: 64-bit wake vector supported (ACPI 4.0) */
 
-/* Global lock flags */
+/* ospm_flags */
 
-#define ACPI_GLOCK_PENDING      0x01   /* 00: Pending global lock ownership */
-#define ACPI_GLOCK_OWNED        0x02   /* 01: Global lock is owned */
+#define ACPI_FACS_64BIT_ENVIRONMENT (1)        /* 00: 64-bit wake environment is required (ACPI 4.0) */
 
 /*******************************************************************************
  *
index 59ade07..ec36693 100644 (file)
@@ -1011,7 +1011,7 @@ struct acpi_madt_interrupt_source {
 
 #define ACPI_MADT_CPEI_OVERRIDE     (1)
 
-/* 9: Processor Local X2_APIC (07/2008) */
+/* 9: Processor Local X2APIC (ACPI 4.0) */
 
 struct acpi_madt_local_x2apic {
        struct acpi_subtable_header header;
@@ -1021,7 +1021,7 @@ struct acpi_madt_local_x2apic {
        u32 uid;                /* ACPI processor UID */
 };
 
-/* 10: Local X2APIC NMI (07/2008) */
+/* 10: Local X2APIC NMI (ACPI 4.0) */
 
 struct acpi_madt_local_x2apic_nmi {
        struct acpi_subtable_header header;
@@ -1211,7 +1211,7 @@ struct acpi_srat_mem_affinity {
 #define ACPI_SRAT_MEM_HOT_PLUGGABLE (1<<1)     /* 01: Memory region is hot pluggable */
 #define ACPI_SRAT_MEM_NON_VOLATILE  (1<<2)     /* 02: Memory region is non-volatile */
 
-/* 2: Processor Local X2_APIC Affinity (07/2008) */
+/* 2: Processor Local X2_APIC Affinity (ACPI 4.0) */
 
 struct acpi_srat_x2apic_cpu_affinity {
        struct acpi_subtable_header header;
@@ -1219,6 +1219,8 @@ struct acpi_srat_x2apic_cpu_affinity {
        u32 proximity_domain;
        u32 apic_id;
        u32 flags;
+       u32 clock_domain;
+       u32 reserved2;
 };
 
 /* Flags for struct acpi_srat_cpu_affinity and struct acpi_srat_x2apic_cpu_affinity */