aboutsummaryrefslogtreecommitdiffstats
path: root/include/acpi/actbl2.h
diff options
context:
space:
mode:
authorBob Moore <robert.moore@intel.com>2009-07-26 22:53:00 -0400
committerLen Brown <len.brown@intel.com>2009-08-28 19:40:38 -0400
commit6e2d5ebd0d36199920676fdceaff4f4bfe66297b (patch)
tree334c129986a3ae126378a001d871d3e4267db6ea /include/acpi/actbl2.h
parentb24aad44438d5bc21cbbfb94a99d9bf710d8295b (diff)
ACPICA: ACPI 4: Update headers for new and changed ACPI tables.
Add IVRS,MSCT,UEFI,WAET,WDAT. Updated several existing tables for ACPI 4.0-related changes. Added document references for all tables not defined in ACPI spec. 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>
Diffstat (limited to 'include/acpi/actbl2.h')
-rw-r--r--include/acpi/actbl2.h339
1 files changed, 311 insertions, 28 deletions
diff --git a/include/acpi/actbl2.h b/include/acpi/actbl2.h
index b271aba0e524..6f3dce9991e1 100644
--- a/include/acpi/actbl2.h
+++ b/include/acpi/actbl2.h
@@ -14,8 +14,9 @@
14 ******************************************************************************/ 14 ******************************************************************************/
15 15
16/* 16/*
17 * Values for description table header signatures. Useful because they make 17 * Values for description table header signatures for tables defined in this
18 * it more difficult to inadvertently type in the wrong signature. 18 * file. Useful because they make it more difficult to inadvertently type in
19 * the wrong signature.
19 */ 20 */
20#define ACPI_SIG_ASF "ASF!" /* Alert Standard Format table */ 21#define ACPI_SIG_ASF "ASF!" /* Alert Standard Format table */
21#define ACPI_SIG_BOOT "BOOT" /* Simple Boot Flag Table */ 22#define ACPI_SIG_BOOT "BOOT" /* Simple Boot Flag Table */
@@ -23,12 +24,14 @@
23#define ACPI_SIG_DMAR "DMAR" /* DMA Remapping table */ 24#define ACPI_SIG_DMAR "DMAR" /* DMA Remapping table */
24#define ACPI_SIG_HPET "HPET" /* High Precision Event Timer table */ 25#define ACPI_SIG_HPET "HPET" /* High Precision Event Timer table */
25#define ACPI_SIG_IBFT "IBFT" /* i_sCSI Boot Firmware Table */ 26#define ACPI_SIG_IBFT "IBFT" /* i_sCSI Boot Firmware Table */
27#define ACPI_SIG_IVRS "IVRS" /* I/O Virtualization Reporting Structure */
26#define ACPI_SIG_MCFG "MCFG" /* PCI Memory Mapped Configuration table */ 28#define ACPI_SIG_MCFG "MCFG" /* PCI Memory Mapped Configuration table */
27#define ACPI_SIG_SLIC "SLIC" /* Software Licensing Description Table */ 29#define ACPI_SIG_SLIC "SLIC" /* Software Licensing Description Table */
28#define ACPI_SIG_SPCR "SPCR" /* Serial Port Console Redirection table */ 30#define ACPI_SIG_SPCR "SPCR" /* Serial Port Console Redirection table */
29#define ACPI_SIG_SPMI "SPMI" /* Server Platform Management Interface table */ 31#define ACPI_SIG_SPMI "SPMI" /* Server Platform Management Interface table */
30#define ACPI_SIG_TCPA "TCPA" /* Trusted Computing Platform Alliance table */ 32#define ACPI_SIG_TCPA "TCPA" /* Trusted Computing Platform Alliance table */
31#define ACPI_SIG_UEFI "UEFI" /* Uefi Boot Optimization Table */ 33#define ACPI_SIG_UEFI "UEFI" /* Uefi Boot Optimization Table */
34#define ACPI_SIG_WAET "WAET" /* Windows ACPI Emulated devices Table */
32#define ACPI_SIG_WDAT "WDAT" /* Watchdog Action Table */ 35#define ACPI_SIG_WDAT "WDAT" /* Watchdog Action Table */
33#define ACPI_SIG_WDRT "WDRT" /* Watchdog Resource Table */ 36#define ACPI_SIG_WDRT "WDRT" /* Watchdog Resource Table */
34 37
@@ -47,6 +50,7 @@
47/******************************************************************************* 50/*******************************************************************************
48 * 51 *
49 * ASF - Alert Standard Format table (Signature "ASF!") 52 * ASF - Alert Standard Format table (Signature "ASF!")
53 * Revision 0x10
50 * 54 *
51 * Conforms to the Alert Standard Format Specification V2.0, 23 April 2003 55 * Conforms to the Alert Standard Format Specification V2.0, 23 April 2003
52 * 56 *
@@ -91,6 +95,10 @@ struct acpi_asf_info {
91 u8 reserved2[3]; 95 u8 reserved2[3];
92}; 96};
93 97
98/* Masks for Flags field above */
99
100#define ACPI_ASF_SMBUS_PROTOCOLS (1)
101
94/* 1: ASF Alerts */ 102/* 1: ASF Alerts */
95 103
96struct acpi_asf_alert { 104struct acpi_asf_alert {
@@ -156,6 +164,9 @@ struct acpi_asf_address {
156/******************************************************************************* 164/*******************************************************************************
157 * 165 *
158 * BOOT - Simple Boot Flag Table 166 * BOOT - Simple Boot Flag Table
167 * Version 1
168 *
169 * Conforms to the "Simple Boot Flag Specification", Version 2.1
159 * 170 *
160 ******************************************************************************/ 171 ******************************************************************************/
161 172
@@ -168,6 +179,9 @@ struct acpi_table_boot {
168/******************************************************************************* 179/*******************************************************************************
169 * 180 *
170 * DBGP - Debug Port table 181 * DBGP - Debug Port table
182 * Version 1
183 *
184 * Conforms to the "Debug Port Specification", Version 1.00, 2/9/2000
171 * 185 *
172 ******************************************************************************/ 186 ******************************************************************************/
173 187
@@ -181,7 +195,10 @@ struct acpi_table_dbgp {
181/******************************************************************************* 195/*******************************************************************************
182 * 196 *
183 * DMAR - DMA Remapping table 197 * DMAR - DMA Remapping table
184 * From "Intel Virtualization Technology for Directed I/O", Sept. 2007 198 * Version 1
199 *
200 * Conforms to "Intel Virtualization Technology for Directed I/O",
201 * Version 1.2, Sept. 2008
185 * 202 *
186 ******************************************************************************/ 203 ******************************************************************************/
187 204
@@ -192,7 +209,7 @@ struct acpi_table_dmar {
192 u8 reserved[10]; 209 u8 reserved[10];
193}; 210};
194 211
195/* Flags */ 212/* Masks for Flags field above */
196 213
197#define ACPI_DMAR_INTR_REMAP (1) 214#define ACPI_DMAR_INTR_REMAP (1)
198 215
@@ -209,9 +226,12 @@ enum acpi_dmar_type {
209 ACPI_DMAR_TYPE_HARDWARE_UNIT = 0, 226 ACPI_DMAR_TYPE_HARDWARE_UNIT = 0,
210 ACPI_DMAR_TYPE_RESERVED_MEMORY = 1, 227 ACPI_DMAR_TYPE_RESERVED_MEMORY = 1,
211 ACPI_DMAR_TYPE_ATSR = 2, 228 ACPI_DMAR_TYPE_ATSR = 2,
212 ACPI_DMAR_TYPE_RESERVED = 3 /* 3 and greater are reserved */ 229 ACPI_DMAR_HARDWARE_AFFINITY = 3,
230 ACPI_DMAR_TYPE_RESERVED = 4 /* 4 and greater are reserved */
213}; 231};
214 232
233/* DMAR Device Scope structure */
234
215struct acpi_dmar_device_scope { 235struct acpi_dmar_device_scope {
216 u8 entry_type; 236 u8 entry_type;
217 u8 length; 237 u8 length;
@@ -250,7 +270,7 @@ struct acpi_dmar_hardware_unit {
250 u64 address; /* Register Base Address */ 270 u64 address; /* Register Base Address */
251}; 271};
252 272
253/* Flags */ 273/* Masks for Flags field above */
254 274
255#define ACPI_DMAR_INCLUDE_ALL (1) 275#define ACPI_DMAR_INCLUDE_ALL (1)
256 276
@@ -264,7 +284,7 @@ struct acpi_dmar_reserved_memory {
264 u64 end_address; /* 4_k aligned limit address */ 284 u64 end_address; /* 4_k aligned limit address */
265}; 285};
266 286
267/* Flags */ 287/* Masks for Flags field above */
268 288
269#define ACPI_DMAR_ALLOW_ALL (1) 289#define ACPI_DMAR_ALLOW_ALL (1)
270 290
@@ -277,13 +297,26 @@ struct acpi_dmar_atsr {
277 u16 segment; 297 u16 segment;
278}; 298};
279 299
280/* Flags */ 300/* Masks for Flags field above */
281 301
282#define ACPI_DMAR_ALL_PORTS (1) 302#define ACPI_DMAR_ALL_PORTS (1)
283 303
304/* 3: Remapping Hardware Static Affinity Structure */
305
306struct acpi_dmar_rhsa {
307 struct acpi_dmar_header header;
308 u32 reserved;
309 u64 base_address;
310 u32 proximity_domain;
311};
312
284/******************************************************************************* 313/*******************************************************************************
285 * 314 *
286 * HPET - High Precision Event Timer table 315 * HPET - High Precision Event Timer table
316 * Version 1
317 *
318 * Conforms to "IA-PC HPET (High Precision Event Timers) Specification",
319 * Version 1.0a, October 2004
287 * 320 *
288 ******************************************************************************/ 321 ******************************************************************************/
289 322
@@ -296,17 +329,28 @@ struct acpi_table_hpet {
296 u8 flags; 329 u8 flags;
297}; 330};
298 331
299/*! Flags */ 332/* Masks for Flags field above */
300 333
301#define ACPI_HPET_PAGE_PROTECT (1) /* 00: No page protection */ 334#define ACPI_HPET_PAGE_PROTECT_MASK (3)
302#define ACPI_HPET_PAGE_PROTECT_4 (1<<1) /* 01: 4KB page protected */
303#define ACPI_HPET_PAGE_PROTECT_64 (1<<2) /* 02: 64KB page protected */
304 335
305/*! [End] no source code translation !*/ 336/* Values for Page Protect flags */
337
338enum acpi_hpet_page_protect {
339 ACPI_HPET_NO_PAGE_PROTECT = 0,
340 ACPI_HPET_PAGE_PROTECT4 = 1,
341 ACPI_HPET_PAGE_PROTECT64 = 2
342};
306 343
307/******************************************************************************* 344/*******************************************************************************
308 * 345 *
309 * IBFT - Boot Firmware Table 346 * IBFT - Boot Firmware Table
347 * Version 1
348 *
349 * Conforms to "iSCSI Boot Firmware Table (iBFT) as Defined in ACPI 3.0b
350 * Specification", Version 1.01, March 1, 2007
351 *
352 * Note: It appears that this table is not intended to appear in the RSDT/XSDT.
353 * Therefore, it is not currently supported by the disassembler.
310 * 354 *
311 ******************************************************************************/ 355 ******************************************************************************/
312 356
@@ -396,7 +440,182 @@ struct acpi_ibft_target {
396 440
397/******************************************************************************* 441/*******************************************************************************
398 * 442 *
443 * IVRS - I/O Virtualization Reporting Structure
444 * Version 1
445 *
446 * Conforms to "AMD I/O Virtualization Technology (IOMMU) Specification",
447 * Revision 1.26, February 2009.
448 *
449 ******************************************************************************/
450
451struct acpi_table_ivrs {
452 struct acpi_table_header header; /* Common ACPI table header */
453 u32 info; /* Common virtualization info */
454 u64 reserved;
455};
456
457/* Values for Info field above */
458
459#define ACPI_IVRS_PHYSICAL_SIZE 0x00007F00 /* 7 bits, physical address size */
460#define ACPI_IVRS_VIRTUAL_SIZE 0x003F8000 /* 7 bits, virtual address size */
461#define ACPI_IVRS_ATS_RESERVED 0x00400000 /* ATS address translation range reserved */
462
463/* IVRS subtable header */
464
465struct acpi_ivrs_header {
466 u8 type; /* Subtable type */
467 u8 flags;
468 u16 length; /* Subtable length */
469 u16 device_id; /* ID of IOMMU */
470};
471
472/* Values for subtable Type above */
473
474enum acpi_ivrs_type {
475 ACPI_IVRS_TYPE_HARDWARE = 0x10,
476 ACPI_IVRS_TYPE_MEMORY1 = 0x20,
477 ACPI_IVRS_TYPE_MEMORY2 = 0x21,
478 ACPI_IVRS_TYPE_MEMORY3 = 0x22
479};
480
481/* Masks for Flags field above for IVHD subtable */
482
483#define ACPI_IVHD_TT_ENABLE (1)
484#define ACPI_IVHD_PASS_PW (1<<1)
485#define ACPI_IVHD_RES_PASS_PW (1<<2)
486#define ACPI_IVHD_ISOC (1<<3)
487#define ACPI_IVHD_IOTLB (1<<4)
488
489/* Masks for Flags field above for IVMD subtable */
490
491#define ACPI_IVMD_UNITY (1)
492#define ACPI_IVMD_READ (1<<1)
493#define ACPI_IVMD_WRITE (1<<2)
494#define ACPI_IVMD_EXCLUSION_RANGE (1<<3)
495
496/*
497 * IVRS subtables, correspond to Type in struct acpi_ivrs_header
498 */
499
500/* 0x10: I/O Virtualization Hardware Definition Block (IVHD) */
501
502struct acpi_ivrs_hardware {
503 struct acpi_ivrs_header header;
504 u16 capability_offset; /* Offset for IOMMU control fields */
505 u64 base_address; /* IOMMU control registers */
506 u16 pci_segment_group;
507 u16 info; /* MSI number and unit ID */
508 u32 reserved;
509};
510
511/* Masks for Info field above */
512
513#define ACPI_IVHD_MSI_NUMBER_MASK 0x001F /* 5 bits, MSI message number */
514#define ACPI_IVHD_UNIT_ID_MASK 0x1F00 /* 5 bits, unit_iD */
515
516/*
517 * Device Entries for IVHD subtable, appear after struct acpi_ivrs_hardware structure.
518 * Upper two bits of the Type field are the (encoded) length of the structure.
519 * Currently, only 4 and 8 byte entries are defined. 16 and 32 byte entries
520 * are reserved for future use but not defined.
521 */
522struct acpi_ivrs_de_header {
523 u8 type;
524 u16 id;
525 u8 data_setting;
526};
527
528/* Length of device entry is in the top two bits of Type field above */
529
530#define ACPI_IVHD_ENTRY_LENGTH 0xC0
531
532/* Values for device entry Type field above */
533
534enum acpi_ivrs_device_entry_type {
535 /* 4-byte device entries, all use struct acpi_ivrs_device4 */
536
537 ACPI_IVRS_TYPE_PAD4 = 0,
538 ACPI_IVRS_TYPE_ALL = 1,
539 ACPI_IVRS_TYPE_SELECT = 2,
540 ACPI_IVRS_TYPE_START = 3,
541 ACPI_IVRS_TYPE_END = 4,
542
543 /* 8-byte device entries */
544
545 ACPI_IVRS_TYPE_PAD8 = 64,
546 ACPI_IVRS_TYPE_NOT_USED = 65,
547 ACPI_IVRS_TYPE_ALIAS_SELECT = 66, /* Uses struct acpi_ivrs_device8a */
548 ACPI_IVRS_TYPE_ALIAS_START = 67, /* Uses struct acpi_ivrs_device8a */
549 ACPI_IVRS_TYPE_EXT_SELECT = 70, /* Uses struct acpi_ivrs_device8b */
550 ACPI_IVRS_TYPE_EXT_START = 71, /* Uses struct acpi_ivrs_device8b */
551 ACPI_IVRS_TYPE_SPECIAL = 72 /* Uses struct acpi_ivrs_device8c */
552};
553
554/* Values for Data field above */
555
556#define ACPI_IVHD_INIT_PASS (1)
557#define ACPI_IVHD_EINT_PASS (1<<1)
558#define ACPI_IVHD_NMI_PASS (1<<2)
559#define ACPI_IVHD_SYSTEM_MGMT (3<<4)
560#define ACPI_IVHD_LINT0_PASS (1<<6)
561#define ACPI_IVHD_LINT1_PASS (1<<7)
562
563/* Types 0-4: 4-byte device entry */
564
565struct acpi_ivrs_device4 {
566 struct acpi_ivrs_de_header header;
567};
568
569/* Types 66-67: 8-byte device entry */
570
571struct acpi_ivrs_device8a {
572 struct acpi_ivrs_de_header header;
573 u8 reserved1;
574 u16 used_id;
575 u8 reserved2;
576};
577
578/* Types 70-71: 8-byte device entry */
579
580struct acpi_ivrs_device8b {
581 struct acpi_ivrs_de_header header;
582 u32 extended_data;
583};
584
585/* Values for extended_data above */
586
587#define ACPI_IVHD_ATS_DISABLED (1<<31)
588
589/* Type 72: 8-byte device entry */
590
591struct acpi_ivrs_device8c {
592 struct acpi_ivrs_de_header header;
593 u8 handle;
594 u16 used_id;
595 u8 variety;
596};
597
598/* Values for Variety field above */
599
600#define ACPI_IVHD_IOAPIC 1
601#define ACPI_IVHD_HPET 2
602
603/* 0x20, 0x21, 0x22: I/O Virtualization Memory Definition Block (IVMD) */
604
605struct acpi_ivrs_memory {
606 struct acpi_ivrs_header header;
607 u16 aux_data;
608 u64 reserved;
609 u64 start_address;
610 u64 memory_length;
611};
612
613/*******************************************************************************
614 *
399 * MCFG - PCI Memory Mapped Configuration table and sub-table 615 * MCFG - PCI Memory Mapped Configuration table and sub-table
616 * Version 1
617 *
618 * Conforms to "PCI Firmware Specification", Revision 3.0, June 20, 2005
400 * 619 *
401 ******************************************************************************/ 620 ******************************************************************************/
402 621
@@ -418,6 +637,10 @@ struct acpi_mcfg_allocation {
418/******************************************************************************* 637/*******************************************************************************
419 * 638 *
420 * SPCR - Serial Port Console Redirection table 639 * SPCR - Serial Port Console Redirection table
640 * Version 1
641 *
642 * Conforms to "Serial Port Console Redirection Table",
643 * Version 1.00, January 11, 2002
421 * 644 *
422 ******************************************************************************/ 645 ******************************************************************************/
423 646
@@ -445,16 +668,25 @@ struct acpi_table_spcr {
445 u32 reserved2; 668 u32 reserved2;
446}; 669};
447 670
671/* Masks for pci_flags field above */
672
673#define ACPI_SPCR_DO_NOT_DISABLE (1)
674
448/******************************************************************************* 675/*******************************************************************************
449 * 676 *
450 * SPMI - Server Platform Management Interface table 677 * SPMI - Server Platform Management Interface table
678 * Version 5
679 *
680 * Conforms to "Intelligent Platform Management Interface Specification
681 * Second Generation v2.0", Document Revision 1.0, February 12, 2004 with
682 * June 12, 2009 markup.
451 * 683 *
452 ******************************************************************************/ 684 ******************************************************************************/
453 685
454struct acpi_table_spmi { 686struct acpi_table_spmi {
455 struct acpi_table_header header; /* Common ACPI table header */ 687 struct acpi_table_header header; /* Common ACPI table header */
456 u8 reserved;
457 u8 interface_type; 688 u8 interface_type;
689 u8 reserved; /* Must be 1 */
458 u16 spec_revision; /* Version of IPMI */ 690 u16 spec_revision; /* Version of IPMI */
459 u8 interrupt_type; 691 u8 interrupt_type;
460 u8 gpe_number; /* GPE assigned */ 692 u8 gpe_number; /* GPE assigned */
@@ -466,11 +698,27 @@ struct acpi_table_spmi {
466 u8 pci_bus; 698 u8 pci_bus;
467 u8 pci_device; 699 u8 pci_device;
468 u8 pci_function; 700 u8 pci_function;
701 u8 reserved2;
702};
703
704/* Values for interface_type above */
705
706enum acpi_spmi_interface_types {
707 ACPI_SPMI_NOT_USED = 0,
708 ACPI_SPMI_KEYBOARD = 1,
709 ACPI_SPMI_SMI = 2,
710 ACPI_SPMI_BLOCK_TRANSFER = 3,
711 ACPI_SPMI_SMBUS = 4,
712 ACPI_SPMI_RESERVED = 5 /* 5 and above are reserved */
469}; 713};
470 714
471/******************************************************************************* 715/*******************************************************************************
472 * 716 *
473 * TCPA - Trusted Computing Platform Alliance table 717 * TCPA - Trusted Computing Platform Alliance table
718 * Version 1
719 *
720 * Conforms to "TCG PC Specific Implementation Specification",
721 * Version 1.1, August 18, 2003
474 * 722 *
475 ******************************************************************************/ 723 ******************************************************************************/
476 724
@@ -484,6 +732,10 @@ struct acpi_table_tcpa {
484/******************************************************************************* 732/*******************************************************************************
485 * 733 *
486 * UEFI - UEFI Boot optimization Table 734 * UEFI - UEFI Boot optimization Table
735 * Version 1
736 *
737 * Conforms to "Unified Extensible Firmware Interface Specification",
738 * Version 2.3, May 8, 2009
487 * 739 *
488 ******************************************************************************/ 740 ******************************************************************************/
489 741
@@ -491,12 +743,34 @@ struct acpi_table_uefi {
491 struct acpi_table_header header; /* Common ACPI table header */ 743 struct acpi_table_header header; /* Common ACPI table header */
492 u8 identifier[16]; /* UUID identifier */ 744 u8 identifier[16]; /* UUID identifier */
493 u16 data_offset; /* Offset of remaining data in table */ 745 u16 data_offset; /* Offset of remaining data in table */
494 u8 data;
495}; 746};
496 747
497/******************************************************************************* 748/*******************************************************************************
498 * 749 *
750 * WAET - Windows ACPI Emulated devices Table
751 * Version 1
752 *
753 * Conforms to "Windows ACPI Emulated Devices Table", version 1.0, April 6, 2009
754 *
755 ******************************************************************************/
756
757struct acpi_table_waet {
758 struct acpi_table_header header; /* Common ACPI table header */
759 u32 flags;
760};
761
762/* Masks for Flags field above */
763
764#define ACPI_WAET_RTC_NO_ACK (1) /* RTC requires no int acknowledge */
765#define ACPI_WAET_TIMER_ONE_READ (1<<1) /* PM timer requires only one read */
766
767/*******************************************************************************
768 *
499 * WDAT - Watchdog Action Table 769 * WDAT - Watchdog Action Table
770 * Version 1
771 *
772 * Conforms to "Hardware Watchdog Timers Design Specification",
773 * Copyright 2006 Microsoft Corporation.
500 * 774 *
501 ******************************************************************************/ 775 ******************************************************************************/
502 776
@@ -516,10 +790,20 @@ struct acpi_table_wdat {
516 u32 entries; /* Number of watchdog entries that follow */ 790 u32 entries; /* Number of watchdog entries that follow */
517}; 791};
518 792
793/* Masks for Flags field above */
794
795#define ACPI_WDAT_ENABLED (1)
796#define ACPI_WDAT_STOPPED 0x80
797
519/* WDAT Instruction Entries (actions) */ 798/* WDAT Instruction Entries (actions) */
520 799
521struct acpi_wdat_entry { 800struct acpi_wdat_entry {
522 struct acpi_whea_header whea_header; /* Common header for WHEA tables */ 801 u8 action;
802 u8 instruction;
803 u16 reserved;
804 struct acpi_generic_address register_region;
805 u32 value; /* Value used with Read/Write register */
806 u32 mask; /* Bitmask required for this register instruction */
523}; 807};
524 808
525/* Values for Action field above */ 809/* Values for Action field above */
@@ -556,28 +840,27 @@ enum acpi_wdat_instructions {
556/******************************************************************************* 840/*******************************************************************************
557 * 841 *
558 * WDRT - Watchdog Resource Table 842 * WDRT - Watchdog Resource Table
843 * Version 1
844 *
845 * Conforms to "Watchdog Timer Hardware Requirements for Windows Server 2003",
846 * Version 1.01, August 28, 2006
559 * 847 *
560 ******************************************************************************/ 848 ******************************************************************************/
561 849
562struct acpi_table_wdrt { 850struct acpi_table_wdrt {
563 struct acpi_table_header header; /* Common ACPI table header */ 851 struct acpi_table_header header; /* Common ACPI table header */
564 u32 header_length; /* Watchdog Header Length */ 852 struct acpi_generic_address control_register;
565 u8 pci_segment; /* PCI Segment number */ 853 struct acpi_generic_address count_register;
854 u16 pci_device_id;
855 u16 pci_vendor_id;
566 u8 pci_bus; /* PCI Bus number */ 856 u8 pci_bus; /* PCI Bus number */
567 u8 pci_device; /* PCI Device number */ 857 u8 pci_device; /* PCI Device number */
568 u8 pci_function; /* PCI Function number */ 858 u8 pci_function; /* PCI Function number */
569 u32 timer_period; /* Period of one timer count (msec) */ 859 u8 pci_segment; /* PCI Segment number */
570 u32 max_count; /* Maximum counter value supported */ 860 u16 max_count; /* Maximum counter value supported */
571 u32 min_count; /* Minimum counter value */ 861 u8 units;
572 u8 flags;
573 u8 reserved[3];
574 u32 entries; /* Number of watchdog entries that follow */
575}; 862};
576 863
577/* Flags */
578
579#define ACPI_WDRT_TIMER_ENABLED (1) /* 00: Timer enabled */
580
581/* Reset to default packing */ 864/* Reset to default packing */
582 865
583#pragma pack() 866#pragma pack()