ACPICA 20050708 from Bob Moore <robert.moore@intel.com>
[safe/jmp/linux-2.6] / include / acpi / actbl2.h
index e1729c9..84ce5ab 100644 (file)
@@ -73,8 +73,7 @@
 struct rsdt_descriptor_rev2
 {
        ACPI_TABLE_HEADER_DEF                           /* ACPI common table header */
-       u32                             table_offset_entry [1]; /* Array of pointers to  */
-                        /* ACPI table headers */
+       u32                             table_offset_entry[1];  /* Array of pointers to ACPI tables */
 };
 
 
@@ -84,8 +83,7 @@ struct rsdt_descriptor_rev2
 struct xsdt_descriptor_rev2
 {
        ACPI_TABLE_HEADER_DEF                           /* ACPI common table header */
-       u64                             table_offset_entry [1]; /* Array of pointers to  */
-                        /* ACPI table headers */
+       u64                             table_offset_entry[1];  /* Array of pointers to ACPI tables */
 };
 
 
@@ -94,16 +92,21 @@ struct xsdt_descriptor_rev2
  */
 struct facs_descriptor_rev2
 {
-       char                            signature[4];           /* ACPI signature */
+       char                            signature[4];           /* ASCII table signature */
        u32                             length;                 /* Length of structure, in bytes */
        u32                             hardware_signature;     /* Hardware configuration signature */
-       u32                             firmware_waking_vector; /* 32bit physical address of the Firmware Waking Vector. */
+       u32                             firmware_waking_vector; /* 32-bit physical address of the Firmware Waking Vector. */
        u32                             global_lock;            /* Global Lock used to synchronize access to shared hardware resources */
-       u32                             S4bios_f        : 1;    /* S4Bios_f - Indicates if S4BIOS support is present */
-       u32                             reserved1       : 31;   /* Must be 0 */
-       u64                             xfirmware_waking_vector; /* 64bit physical address of the Firmware Waking Vector. */
+
+       /* Flags (32 bits) */
+
+       u8                              S4bios_f        : 1;    /* 00:    S4BIOS support is present */
+       u8                                              : 7;    /* 01-07: Reserved, must be zero */
+       u8                              reserved1[3];           /* 08-31: Reserved, must be zero */
+
+       u64                             xfirmware_waking_vector; /* 64-bit physical address of the Firmware Waking Vector. */
        u8                              version;                /* Version of this table */
-       u8                              reserved3 [31];         /* Reserved - must be zero */
+       u8                              reserved3[31];          /* Reserved, must be zero */
 };
 
 
@@ -165,35 +168,37 @@ struct fadt_descriptor_rev2
 {
        ACPI_TABLE_HEADER_DEF                       /* ACPI common table header */
        FADT_REV2_COMMON
-       u8                              reserved2;          /* Reserved */
-       u32                             wb_invd     : 1;    /* The wbinvd instruction works properly */
-       u32                             wb_invd_flush : 1;  /* The wbinvd flushes but does not invalidate */
-       u32                             proc_c1     : 1;    /* All processors support C1 state */
-       u32                             plvl2_up    : 1;    /* C2 state works on MP system */
-       u32                             pwr_button  : 1;    /* Power button is handled as a generic feature */
-       u32                             sleep_button : 1;   /* Sleep button is handled as a generic feature, or not present */
-       u32                             fixed_rTC   : 1;    /* RTC wakeup stat not in fixed register space */
-       u32                             rtcs4       : 1;    /* RTC wakeup stat not possible from S4 */
-       u32                             tmr_val_ext : 1;    /* Indicates tmr_val is 32 bits 0=24-bits */
-       u32                             dock_cap    : 1;    /* Supports Docking */
-       u32                             reset_reg_sup : 1;  /* Indicates system supports system reset via the FADT RESET_REG */
-       u32                             sealed_case : 1;    /* Indicates system has no internal expansion capabilities and case is sealed */
-       u32                             headless    : 1;    /* Indicates system does not have local video capabilities or local input devices */
-       u32                             cpu_sw_sleep : 1;   /* Indicates to OSPM that a processor native instruction */
-                          /* must be executed after writing the SLP_TYPx register */
-       /* ACPI 3.0 flag bits */
-
-       u32                             pci_exp_wak                         : 1; /* System supports PCIEXP_WAKE (STS/EN) bits */
-       u32                             use_platform_clock                  : 1; /* OSPM should use platform-provided timer */
-       u32                             S4rtc_sts_valid                     : 1; /* Contents of RTC_STS valid after S4 wake */
-       u32                             remote_power_on_capable             : 1; /* System is compatible with remote power on */
-       u32                             force_apic_cluster_model            : 1; /* All local APICs must use cluster model */
-       u32                             force_apic_physical_destination_mode : 1; /* all local x_aPICs must use physical dest mode */
-       u32                             reserved6                           : 12;/* Reserved - must be zero */
+       u8                              reserved2;          /* Reserved, must be zero */
+
+       /* Flags (32 bits) */
+
+       u8                              wb_invd     : 1;    /* 00:    The wbinvd instruction works properly */
+       u8                              wb_invd_flush : 1;  /* 01:    The wbinvd flushes but does not invalidate */
+       u8                              proc_c1     : 1;    /* 02:    All processors support C1 state */
+       u8                              plvl2_up    : 1;    /* 03:    C2 state works on MP system */
+       u8                              pwr_button  : 1;    /* 04:    Power button is handled as a generic feature */
+       u8                              sleep_button : 1;   /* 05:    Sleep button is handled as a generic feature, or not present */
+       u8                              fixed_rTC   : 1;    /* 06:    RTC wakeup stat not in fixed register space */
+       u8                              rtcs4       : 1;    /* 07:    RTC wakeup stat not possible from S4 */
+       u8                              tmr_val_ext : 1;    /* 08:    tmr_val is 32 bits 0=24-bits */
+       u8                              dock_cap    : 1;    /* 09:    Docking supported */
+       u8                              reset_reg_sup : 1;  /* 10:    System reset via the FADT RESET_REG supported */
+       u8                              sealed_case : 1;    /* 11:    No internal expansion capabilities and case is sealed */
+       u8                              headless    : 1;    /* 12:    No local video capabilities or local input devices */
+       u8                              cpu_sw_sleep : 1;   /* 13:    Must execute native instruction after writing SLP_TYPx register */
+
+       u8                              pci_exp_wak                         : 1; /* 14:    System supports PCIEXP_WAKE (STS/EN) bits (ACPI 3.0) */
+       u8                              use_platform_clock                  : 1; /* 15:    OSPM should use platform-provided timer (ACPI 3.0) */
+       u8                              S4rtc_sts_valid                     : 1; /* 16:    Contents of RTC_STS valid after S4 wake (ACPI 3.0) */
+       u8                              remote_power_on_capable             : 1; /* 17:    System is compatible with remote power on (ACPI 3.0) */
+       u8                              force_apic_cluster_model            : 1; /* 18:    All local APICs must use cluster model (ACPI 3.0) */
+       u8                              force_apic_physical_destination_mode : 1; /* 19:   all local x_aPICs must use physical dest mode (ACPI 3.0) */
+       u8                                                                  : 4; /* 20-23: Reserved, must be zero */
+       u8                              reserved3;                               /* 24-31: Reserved, must be zero */
 
        struct acpi_generic_address     reset_register;     /* Reset register address in GAS format */
        u8                              reset_value;        /* Value to write to the reset_register port to reset the system */
-       u8                              reserved7[3];       /* These three bytes must be zero */
+       u8                              reserved4[3];       /* These three bytes must be zero */
        u64                             xfirmware_ctrl;     /* 64-bit physical address of FACS */
        u64                             Xdsdt;              /* 64-bit physical address of DSDT */
        struct acpi_generic_address     xpm1a_evt_blk;      /* Extended Power Mgt 1a acpi_event Reg Blk address */
@@ -213,11 +218,11 @@ struct fadt_descriptor_rev2_minus
 {
        ACPI_TABLE_HEADER_DEF                       /* ACPI common table header */
        FADT_REV2_COMMON
-       u8                              reserved2;          /* Reserved */
+       u8                              reserved2;          /* Reserved, must be zero */
        u32                             flags;
        struct acpi_generic_address     reset_register;     /* Reset register address in GAS format */
        u8                              reset_value;        /* Value to write to the reset_register port to reset the system. */
-       u8                              reserved7[3];       /* These three bytes must be zero */
+       u8                              reserved7[3];       /* Reserved, must be zero */
 };
 
 
@@ -242,11 +247,16 @@ struct static_resource_alloc
        u8                              length;
        u8                              proximity_domain_lo;
        u8                              apic_id;
-       u32                             enabled         :1;
-       u32                             reserved3       :31;
+
+       /* Flags (32 bits) */
+
+       u8                              enabled         :1; /* 00:    Use affinity structure */
+       u8                                              :7; /* 01-07: Reserved, must be zero */
+       u8                              reserved3[3];       /* 08-31: Reserved, must be zero */
+
        u8                              local_sapic_eid;
        u8                              proximity_domain_hi[3];
-       u32                             reserved4;
+       u32                             reserved4;          /* Reserved, must be zero */
 };
 
 struct memory_affinity
@@ -258,18 +268,23 @@ struct memory_affinity
        u64                             base_address;
        u64                             address_length;
        u32                             reserved4;
-       u32                             enabled         :1;
-       u32                             hot_pluggable   :1;
-       u32                             non_volatile    :1;
-       u32                             reserved5       :29;
-       u64                             reserved6;
+
+       /* Flags (32 bits) */
+
+       u8                              enabled         :1; /* 00:    Use affinity structure */
+       u8                              hot_pluggable   :1; /* 01:    Memory region is hot pluggable */
+       u8                              non_volatile    :1; /* 02:    Memory is non-volatile */
+       u8                                              :5; /* 03-07: Reserved, must be zero */
+       u8                              reserved5[3];       /* 08-31: Reserved, must be zero */
+
+       u64                             reserved6;          /* Reserved, must be zero */
 };
 
 struct system_resource_affinity
 {
        ACPI_TABLE_HEADER_DEF
        u32                             reserved1;          /* Must be value '1' */
-       u64                             reserved2;
+       u64                             reserved2;          /* Reserved, must be zero */
 };