diff options
Diffstat (limited to 'include/acpi/actbl1.h')
-rw-r--r-- | include/acpi/actbl1.h | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/include/acpi/actbl1.h b/include/acpi/actbl1.h index 4e5d3ca53a8e..a1b1b2ee3e51 100644 --- a/include/acpi/actbl1.h +++ b/include/acpi/actbl1.h | |||
@@ -257,7 +257,8 @@ struct acpi_table_dbgp { | |||
257 | struct acpi_table_dmar { | 257 | struct acpi_table_dmar { |
258 | struct acpi_table_header header; /* Common ACPI table header */ | 258 | struct acpi_table_header header; /* Common ACPI table header */ |
259 | u8 width; /* Host Address Width */ | 259 | u8 width; /* Host Address Width */ |
260 | u8 reserved[11]; | 260 | u8 flags; |
261 | u8 reserved[10]; | ||
261 | }; | 262 | }; |
262 | 263 | ||
263 | /* DMAR subtable header */ | 264 | /* DMAR subtable header */ |
@@ -265,8 +266,6 @@ struct acpi_table_dmar { | |||
265 | struct acpi_dmar_header { | 266 | struct acpi_dmar_header { |
266 | u16 type; | 267 | u16 type; |
267 | u16 length; | 268 | u16 length; |
268 | u8 flags; | ||
269 | u8 reserved[3]; | ||
270 | }; | 269 | }; |
271 | 270 | ||
272 | /* Values for subtable type in struct acpi_dmar_header */ | 271 | /* Values for subtable type in struct acpi_dmar_header */ |
@@ -274,13 +273,15 @@ struct acpi_dmar_header { | |||
274 | enum acpi_dmar_type { | 273 | enum acpi_dmar_type { |
275 | ACPI_DMAR_TYPE_HARDWARE_UNIT = 0, | 274 | ACPI_DMAR_TYPE_HARDWARE_UNIT = 0, |
276 | ACPI_DMAR_TYPE_RESERVED_MEMORY = 1, | 275 | ACPI_DMAR_TYPE_RESERVED_MEMORY = 1, |
277 | ACPI_DMAR_TYPE_RESERVED = 2 /* 2 and greater are reserved */ | 276 | ACPI_DMAR_TYPE_ATSR = 2, |
277 | ACPI_DMAR_TYPE_RESERVED = 3 /* 3 and greater are reserved */ | ||
278 | }; | 278 | }; |
279 | 279 | ||
280 | struct acpi_dmar_device_scope { | 280 | struct acpi_dmar_device_scope { |
281 | u8 entry_type; | 281 | u8 entry_type; |
282 | u8 length; | 282 | u8 length; |
283 | u8 segment; | 283 | u16 reserved; |
284 | u8 enumeration_id; | ||
284 | u8 bus; | 285 | u8 bus; |
285 | }; | 286 | }; |
286 | 287 | ||
@@ -290,7 +291,14 @@ enum acpi_dmar_scope_type { | |||
290 | ACPI_DMAR_SCOPE_TYPE_NOT_USED = 0, | 291 | ACPI_DMAR_SCOPE_TYPE_NOT_USED = 0, |
291 | ACPI_DMAR_SCOPE_TYPE_ENDPOINT = 1, | 292 | ACPI_DMAR_SCOPE_TYPE_ENDPOINT = 1, |
292 | ACPI_DMAR_SCOPE_TYPE_BRIDGE = 2, | 293 | ACPI_DMAR_SCOPE_TYPE_BRIDGE = 2, |
293 | ACPI_DMAR_SCOPE_TYPE_RESERVED = 3 /* 3 and greater are reserved */ | 294 | ACPI_DMAR_SCOPE_TYPE_IOAPIC = 3, |
295 | ACPI_DMAR_SCOPE_TYPE_HPET = 4, | ||
296 | ACPI_DMAR_SCOPE_TYPE_RESERVED = 5 /* 5 and greater are reserved */ | ||
297 | }; | ||
298 | |||
299 | struct acpi_dmar_pci_path { | ||
300 | u8 dev; | ||
301 | u8 fn; | ||
294 | }; | 302 | }; |
295 | 303 | ||
296 | /* | 304 | /* |
@@ -301,6 +309,9 @@ enum acpi_dmar_scope_type { | |||
301 | 309 | ||
302 | struct acpi_dmar_hardware_unit { | 310 | struct acpi_dmar_hardware_unit { |
303 | struct acpi_dmar_header header; | 311 | struct acpi_dmar_header header; |
312 | u8 flags; | ||
313 | u8 reserved; | ||
314 | u16 segment; | ||
304 | u64 address; /* Register Base Address */ | 315 | u64 address; /* Register Base Address */ |
305 | }; | 316 | }; |
306 | 317 | ||
@@ -312,7 +323,9 @@ struct acpi_dmar_hardware_unit { | |||
312 | 323 | ||
313 | struct acpi_dmar_reserved_memory { | 324 | struct acpi_dmar_reserved_memory { |
314 | struct acpi_dmar_header header; | 325 | struct acpi_dmar_header header; |
315 | u64 address; /* 4_k aligned base address */ | 326 | u16 reserved; |
327 | u16 segment; | ||
328 | u64 base_address; /* 4_k aligned base address */ | ||
316 | u64 end_address; /* 4_k aligned limit address */ | 329 | u64 end_address; /* 4_k aligned limit address */ |
317 | }; | 330 | }; |
318 | 331 | ||