diff options
Diffstat (limited to 'include/acpi/actbl.h')
-rw-r--r-- | include/acpi/actbl.h | 58 |
1 files changed, 32 insertions, 26 deletions
diff --git a/include/acpi/actbl.h b/include/acpi/actbl.h index b5cdcca444c8..c1e9110c3661 100644 --- a/include/acpi/actbl.h +++ b/include/acpi/actbl.h | |||
@@ -86,15 +86,15 @@ | |||
86 | */ | 86 | */ |
87 | struct rsdp_descriptor /* Root System Descriptor Pointer */ | 87 | struct rsdp_descriptor /* Root System Descriptor Pointer */ |
88 | { | 88 | { |
89 | char signature [8]; /* ACPI signature, contains "RSD PTR " */ | 89 | char signature[8]; /* ACPI signature, contains "RSD PTR " */ |
90 | u8 checksum; /* To make sum of struct == 0 */ | 90 | u8 checksum; /* ACPI 1.0 checksum */ |
91 | char oem_id [6]; /* OEM identification */ | 91 | char oem_id[6]; /* OEM identification */ |
92 | u8 revision; /* Must be 0 for 1.0, 2 for 2.0 */ | 92 | u8 revision; /* Must be (0) for ACPI 1.0 or (2) for ACPI 2.0+ */ |
93 | u32 rsdt_physical_address; /* 32-bit physical address of RSDT */ | 93 | u32 rsdt_physical_address; /* 32-bit physical address of the RSDT */ |
94 | u32 length; /* XSDT Length in bytes including hdr */ | 94 | u32 length; /* XSDT Length in bytes, including header */ |
95 | u64 xsdt_physical_address; /* 64-bit physical address of XSDT */ | 95 | u64 xsdt_physical_address; /* 64-bit physical address of the XSDT */ |
96 | u8 extended_checksum; /* Checksum of entire table */ | 96 | u8 extended_checksum; /* Checksum of entire table (ACPI 2.0) */ |
97 | char reserved [3]; /* Reserved field must be 0 */ | 97 | char reserved[3]; /* Reserved, must be zero */ |
98 | }; | 98 | }; |
99 | 99 | ||
100 | 100 | ||
@@ -107,15 +107,15 @@ struct acpi_common_facs /* Common FACS for internal use */ | |||
107 | 107 | ||
108 | 108 | ||
109 | #define ACPI_TABLE_HEADER_DEF /* ACPI common table header */ \ | 109 | #define ACPI_TABLE_HEADER_DEF /* ACPI common table header */ \ |
110 | char signature [4]; /* ACPI signature (4 ASCII characters) */\ | 110 | char signature[4]; /* ASCII table signature */\ |
111 | u32 length; /* Length of table, in bytes, including header */\ | 111 | u32 length; /* Length of table in bytes, including this header */\ |
112 | u8 revision; /* ACPI Specification minor version # */\ | 112 | u8 revision; /* ACPI Specification minor version # */\ |
113 | u8 checksum; /* To make sum of entire table == 0 */\ | 113 | u8 checksum; /* To make sum of entire table == 0 */\ |
114 | char oem_id [6]; /* OEM identification */\ | 114 | char oem_id[6]; /* ASCII OEM identification */\ |
115 | char oem_table_id [8]; /* OEM table identification */\ | 115 | char oem_table_id[8]; /* ASCII OEM table identification */\ |
116 | u32 oem_revision; /* OEM revision number */\ | 116 | u32 oem_revision; /* OEM revision number */\ |
117 | char asl_compiler_id [4]; /* ASL compiler vendor ID */\ | 117 | char asl_compiler_id [4]; /* ASCII ASL compiler vendor ID */\ |
118 | u32 asl_compiler_revision; /* ASL compiler revision number */ | 118 | u32 asl_compiler_revision; /* ASL compiler version */ |
119 | 119 | ||
120 | 120 | ||
121 | struct acpi_table_header /* ACPI common table header */ | 121 | struct acpi_table_header /* ACPI common table header */ |
@@ -139,8 +139,12 @@ struct multiple_apic_table | |||
139 | { | 139 | { |
140 | ACPI_TABLE_HEADER_DEF /* ACPI common table header */ | 140 | ACPI_TABLE_HEADER_DEF /* ACPI common table header */ |
141 | u32 local_apic_address; /* Physical address of local APIC */ | 141 | u32 local_apic_address; /* Physical address of local APIC */ |
142 | u32 PCATcompat : 1; /* A one indicates system also has dual 8259s */ | 142 | |
143 | u32 reserved1 : 31; | 143 | /* Flags (32 bits) */ |
144 | |||
145 | u8 PCATcompat : 1; /* 00: System also has dual 8259s */ | ||
146 | u8 : 7; /* 01-07: Reserved, must be zero */ | ||
147 | u8 reserved1[3]; /* 08-31: Reserved, must be zero */ | ||
144 | }; | 148 | }; |
145 | 149 | ||
146 | /* Values for Type in APIC_HEADER_DEF */ | 150 | /* Values for Type in APIC_HEADER_DEF */ |
@@ -180,16 +184,18 @@ struct apic_header | |||
180 | #define TRIGGER_RESERVED 2 | 184 | #define TRIGGER_RESERVED 2 |
181 | #define TRIGGER_LEVEL 3 | 185 | #define TRIGGER_LEVEL 3 |
182 | 186 | ||
183 | /* Common flag definitions */ | 187 | /* Common flag definitions (16 bits each) */ |
184 | 188 | ||
185 | #define MPS_INTI_FLAGS \ | 189 | #define MPS_INTI_FLAGS \ |
186 | u16 polarity : 2; /* Polarity of APIC I/O input signals */\ | 190 | u8 polarity : 2; /* 00-01: Polarity of APIC I/O input signals */\ |
187 | u16 trigger_mode : 2; /* Trigger mode of APIC input signals */\ | 191 | u8 trigger_mode : 2; /* 02-03: Trigger mode of APIC input signals */\ |
188 | u16 reserved1 : 12; /* Reserved, must be zero */ | 192 | u8 : 4; /* 04-07: Reserved, must be zero */\ |
193 | u8 reserved1; /* 08-15: Reserved, must be zero */ | ||
189 | 194 | ||
190 | #define LOCAL_APIC_FLAGS \ | 195 | #define LOCAL_APIC_FLAGS \ |
191 | u32 processor_enabled: 1; /* Processor is usable if set */\ | 196 | u8 processor_enabled: 1; /* 00: Processor is usable if set */\ |
192 | u32 reserved2 : 31; /* Reserved, must be zero */ | 197 | u8 : 7; /* 01-07: Reserved, must be zero */\ |
198 | u8 reserved2; /* 08-15: Reserved, must be zero */ | ||
193 | 199 | ||
194 | /* Sub-structures for MADT */ | 200 | /* Sub-structures for MADT */ |
195 | 201 | ||
@@ -238,7 +244,7 @@ struct madt_local_apic_nmi | |||
238 | struct madt_address_override | 244 | struct madt_address_override |
239 | { | 245 | { |
240 | APIC_HEADER_DEF | 246 | APIC_HEADER_DEF |
241 | u16 reserved; /* Reserved - must be zero */ | 247 | u16 reserved; /* Reserved, must be zero */ |
242 | u64 address; /* APIC physical address */ | 248 | u64 address; /* APIC physical address */ |
243 | }; | 249 | }; |
244 | 250 | ||
@@ -246,7 +252,7 @@ struct madt_io_sapic | |||
246 | { | 252 | { |
247 | APIC_HEADER_DEF | 253 | APIC_HEADER_DEF |
248 | u8 io_sapic_id; /* I/O SAPIC ID */ | 254 | u8 io_sapic_id; /* I/O SAPIC ID */ |
249 | u8 reserved; /* Reserved - must be zero */ | 255 | u8 reserved; /* Reserved, must be zero */ |
250 | u32 interrupt_base; /* Glocal interrupt for SAPIC start */ | 256 | u32 interrupt_base; /* Glocal interrupt for SAPIC start */ |
251 | u64 address; /* SAPIC physical address */ | 257 | u64 address; /* SAPIC physical address */ |
252 | }; | 258 | }; |
@@ -257,7 +263,7 @@ struct madt_local_sapic | |||
257 | u8 processor_id; /* ACPI processor id */ | 263 | u8 processor_id; /* ACPI processor id */ |
258 | u8 local_sapic_id; /* SAPIC ID */ | 264 | u8 local_sapic_id; /* SAPIC ID */ |
259 | u8 local_sapic_eid; /* SAPIC EID */ | 265 | u8 local_sapic_eid; /* SAPIC EID */ |
260 | u8 reserved [3]; /* Reserved - must be zero */ | 266 | u8 reserved[3]; /* Reserved, must be zero */ |
261 | LOCAL_APIC_FLAGS | 267 | LOCAL_APIC_FLAGS |
262 | u32 processor_uID; /* Numeric UID - ACPI 3.0 */ | 268 | u32 processor_uID; /* Numeric UID - ACPI 3.0 */ |
263 | char processor_uIDstring[1]; /* String UID - ACPI 3.0 */ | 269 | char processor_uIDstring[1]; /* String UID - ACPI 3.0 */ |