Print this page
update to acpica-unix2-20140114
update to acpica-unix2-20131218
acpica-unix2-20130823
PANKOVs restructure
   1 /******************************************************************************
   2  *
   3  * Name: actbl2.h - ACPI Table Definitions (tables not in ACPI spec)
   4  *
   5  *****************************************************************************/
   6 
   7 /*
   8  * Copyright (C) 2000 - 2011, Intel Corp.
   9  * All rights reserved.
  10  *
  11  * Redistribution and use in source and binary forms, with or without
  12  * modification, are permitted provided that the following conditions
  13  * are met:
  14  * 1. Redistributions of source code must retain the above copyright
  15  *    notice, this list of conditions, and the following disclaimer,
  16  *    without modification.
  17  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
  18  *    substantially similar to the "NO WARRANTY" disclaimer below
  19  *    ("Disclaimer") and any redistribution must be conditioned upon
  20  *    including a substantially similar Disclaimer requirement for further
  21  *    binary redistribution.
  22  * 3. Neither the names of the above-listed copyright holders nor the names
  23  *    of any contributors may be used to endorse or promote products derived
  24  *    from this software without specific prior written permission.
  25  *
  26  * Alternatively, this software may be distributed under the terms of the
  27  * GNU General Public License ("GPL") version 2 as published by the Free
  28  * Software Foundation.


  48 /*******************************************************************************
  49  *
  50  * Additional ACPI Tables (2)
  51  *
  52  * These tables are not consumed directly by the ACPICA subsystem, but are
  53  * included here to support device drivers and the AML disassembler.
  54  *
  55  * The tables in this file are defined by third-party specifications, and are
  56  * not defined directly by the ACPI specification itself.
  57  *
  58  ******************************************************************************/
  59 
  60 
  61 /*
  62  * Values for description table header signatures for tables defined in this
  63  * file. Useful because they make it more difficult to inadvertently type in
  64  * the wrong signature.
  65  */
  66 #define ACPI_SIG_ASF            "ASF!"      /* Alert Standard Format table */
  67 #define ACPI_SIG_BOOT           "BOOT"      /* Simple Boot Flag Table */


  68 #define ACPI_SIG_DBGP           "DBGP"      /* Debug Port table */
  69 #define ACPI_SIG_DMAR           "DMAR"      /* DMA Remapping table */
  70 #define ACPI_SIG_HPET           "HPET"      /* High Precision Event Timer table */
  71 #define ACPI_SIG_IBFT           "IBFT"      /* iSCSI Boot Firmware Table */
  72 #define ACPI_SIG_IVRS           "IVRS"      /* I/O Virtualization Reporting Structure */
  73 #define ACPI_SIG_MCFG           "MCFG"      /* PCI Memory Mapped Configuration table */
  74 #define ACPI_SIG_MCHI           "MCHI"      /* Management Controller Host Interface table */

  75 #define ACPI_SIG_SLIC           "SLIC"      /* Software Licensing Description Table */
  76 #define ACPI_SIG_SPCR           "SPCR"      /* Serial Port Console Redirection table */
  77 #define ACPI_SIG_SPMI           "SPMI"      /* Server Platform Management Interface table */
  78 #define ACPI_SIG_TCPA           "TCPA"      /* Trusted Computing Platform Alliance table */
  79 #define ACPI_SIG_UEFI           "UEFI"      /* Uefi Boot Optimization Table */

  80 #define ACPI_SIG_WAET           "WAET"      /* Windows ACPI Emulated devices Table */
  81 #define ACPI_SIG_WDAT           "WDAT"      /* Watchdog Action Table */
  82 #define ACPI_SIG_WDDT           "WDDT"      /* Watchdog Timer Description Table */
  83 #define ACPI_SIG_WDRT           "WDRT"      /* Watchdog Resource Table */
  84 
  85 #ifdef ACPI_UNDEFINED_TABLES
  86 /*
  87  * These tables have been seen in the field, but no definition has been found
  88  */
  89 #define ACPI_SIG_ATKG           "ATKG"
  90 #define ACPI_SIG_GSCI           "GSCI"      /* GMCH SCI table */
  91 #define ACPI_SIG_IEIT           "IEIT"
  92 #endif
  93 
  94 /*
  95  * All tables must be byte-packed to match the ACPI specification, since
  96  * the tables are provided by the system BIOS.
  97  */
  98 #pragma pack(1)
  99 
 100 /*
 101  * Note about bitfields: The UINT8 type is used for bitfields in ACPI tables.
 102  * This is the only type that is even remotely portable. Anything else is not
 103  * portable, so do not use any other bitfield types.






 104  */
 105 
 106 
 107 /*******************************************************************************
 108  *
 109  * ASF - Alert Standard Format table (Signature "ASF!")
 110  *       Revision 0x10
 111  *
 112  * Conforms to the Alert Standard Format Specification V2.0, 23 April 2003
 113  *
 114  ******************************************************************************/
 115 
 116 typedef struct acpi_table_asf
 117 {
 118     ACPI_TABLE_HEADER       Header;             /* Common ACPI table header */
 119 
 120 } ACPI_TABLE_ASF;
 121 
 122 
 123 /* ASF subtable header */


 247 /*******************************************************************************
 248  *
 249  * BOOT - Simple Boot Flag Table
 250  *        Version 1
 251  *
 252  * Conforms to the "Simple Boot Flag Specification", Version 2.1
 253  *
 254  ******************************************************************************/
 255 
 256 typedef struct acpi_table_boot
 257 {
 258     ACPI_TABLE_HEADER       Header;             /* Common ACPI table header */
 259     UINT8                   CmosIndex;          /* Index in CMOS RAM for the boot register */
 260     UINT8                   Reserved[3];
 261 
 262 } ACPI_TABLE_BOOT;
 263 
 264 
 265 /*******************************************************************************
 266  *
























































































































































 267  * DBGP - Debug Port table
 268  *        Version 1
 269  *
 270  * Conforms to the "Debug Port Specification", Version 1.00, 2/9/2000
 271  *
 272  ******************************************************************************/
 273 
 274 typedef struct acpi_table_dbgp
 275 {
 276     ACPI_TABLE_HEADER       Header;             /* Common ACPI table header */
 277     UINT8                   Type;               /* 0=full 16550, 1=subset of 16550 */
 278     UINT8                   Reserved[3];
 279     ACPI_GENERIC_ADDRESS    DebugPort;
 280 
 281 } ACPI_TABLE_DBGP;
 282 
 283 
 284 /*******************************************************************************
 285  *
 286  * DMAR - DMA Remapping table


 814 {
 815     ACPI_TABLE_HEADER       Header;             /* Common ACPI table header */
 816     UINT8                   InterfaceType;
 817     UINT8                   Protocol;
 818     UINT64                  ProtocolData;
 819     UINT8                   InterruptType;
 820     UINT8                   Gpe;
 821     UINT8                   PciDeviceFlag;
 822     UINT32                  GlobalInterrupt;
 823     ACPI_GENERIC_ADDRESS    ControlRegister;
 824     UINT8                   PciSegment;
 825     UINT8                   PciBus;
 826     UINT8                   PciDevice;
 827     UINT8                   PciFunction;
 828 
 829 } ACPI_TABLE_MCHI;
 830 
 831 
 832 /*******************************************************************************
 833  *




























 834  * SLIC - Software Licensing Description Table
 835  *        Version 1
 836  *
 837  * Conforms to "OEM Activation 2.0 for Windows Vista Operating Systems",
 838  * Copyright 2006
 839  *
 840  ******************************************************************************/
 841 
 842 /* Basic SLIC table is only the common ACPI header */
 843 
 844 typedef struct acpi_table_slic
 845 {
 846     ACPI_TABLE_HEADER       Header;             /* Common ACPI table header */
 847 
 848 } ACPI_TABLE_SLIC;
 849 
 850 
 851 /* Common SLIC subtable header */
 852 
 853 typedef struct acpi_slic_header


1013  *
1014  * UEFI - UEFI Boot optimization Table
1015  *        Version 1
1016  *
1017  * Conforms to "Unified Extensible Firmware Interface Specification",
1018  * Version 2.3, May 8, 2009
1019  *
1020  ******************************************************************************/
1021 
1022 typedef struct acpi_table_uefi
1023 {
1024     ACPI_TABLE_HEADER       Header;             /* Common ACPI table header */
1025     UINT8                   Identifier[16];     /* UUID identifier */
1026     UINT16                  DataOffset;         /* Offset of remaining data in table */
1027 
1028 } ACPI_TABLE_UEFI;
1029 
1030 
1031 /*******************************************************************************
1032  *



























1033  * WAET - Windows ACPI Emulated devices Table
1034  *        Version 1
1035  *
1036  * Conforms to "Windows ACPI Emulated Devices Table", version 1.0, April 6, 2009
1037  *
1038  ******************************************************************************/
1039 
1040 typedef struct acpi_table_waet
1041 {
1042     ACPI_TABLE_HEADER       Header;             /* Common ACPI table header */
1043     UINT32                  Flags;
1044 
1045 } ACPI_TABLE_WAET;
1046 
1047 /* Masks for Flags field above */
1048 
1049 #define ACPI_WAET_RTC_NO_ACK        (1)         /* RTC requires no int acknowledge */
1050 #define ACPI_WAET_TIMER_ONE_READ    (1<<1)      /* PM timer requires only one read */
1051 
1052 


1187     ACPI_TABLE_HEADER       Header;             /* Common ACPI table header */
1188     ACPI_GENERIC_ADDRESS    ControlRegister;
1189     ACPI_GENERIC_ADDRESS    CountRegister;
1190     UINT16                  PciDeviceId;
1191     UINT16                  PciVendorId;
1192     UINT8                   PciBus;             /* PCI Bus number */
1193     UINT8                   PciDevice;          /* PCI Device number */
1194     UINT8                   PciFunction;        /* PCI Function number */
1195     UINT8                   PciSegment;         /* PCI Segment number */
1196     UINT16                  MaxCount;           /* Maximum counter value supported */
1197     UINT8                   Units;
1198 
1199 } ACPI_TABLE_WDRT;
1200 
1201 
1202 /* Reset to default packing */
1203 
1204 #pragma pack()
1205 
1206 #endif /* __ACTBL2_H__ */
1207 
   1 /******************************************************************************
   2  *
   3  * Name: actbl2.h - ACPI Table Definitions (tables not in ACPI spec)
   4  *
   5  *****************************************************************************/
   6 
   7 /*
   8  * Copyright (C) 2000 - 2014, Intel Corp.
   9  * All rights reserved.
  10  *
  11  * Redistribution and use in source and binary forms, with or without
  12  * modification, are permitted provided that the following conditions
  13  * are met:
  14  * 1. Redistributions of source code must retain the above copyright
  15  *    notice, this list of conditions, and the following disclaimer,
  16  *    without modification.
  17  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
  18  *    substantially similar to the "NO WARRANTY" disclaimer below
  19  *    ("Disclaimer") and any redistribution must be conditioned upon
  20  *    including a substantially similar Disclaimer requirement for further
  21  *    binary redistribution.
  22  * 3. Neither the names of the above-listed copyright holders nor the names
  23  *    of any contributors may be used to endorse or promote products derived
  24  *    from this software without specific prior written permission.
  25  *
  26  * Alternatively, this software may be distributed under the terms of the
  27  * GNU General Public License ("GPL") version 2 as published by the Free
  28  * Software Foundation.


  48 /*******************************************************************************
  49  *
  50  * Additional ACPI Tables (2)
  51  *
  52  * These tables are not consumed directly by the ACPICA subsystem, but are
  53  * included here to support device drivers and the AML disassembler.
  54  *
  55  * The tables in this file are defined by third-party specifications, and are
  56  * not defined directly by the ACPI specification itself.
  57  *
  58  ******************************************************************************/
  59 
  60 
  61 /*
  62  * Values for description table header signatures for tables defined in this
  63  * file. Useful because they make it more difficult to inadvertently type in
  64  * the wrong signature.
  65  */
  66 #define ACPI_SIG_ASF            "ASF!"      /* Alert Standard Format table */
  67 #define ACPI_SIG_BOOT           "BOOT"      /* Simple Boot Flag Table */
  68 #define ACPI_SIG_CSRT           "CSRT"      /* Core System Resource Table */
  69 #define ACPI_SIG_DBG2           "DBG2"      /* Debug Port table type 2 */
  70 #define ACPI_SIG_DBGP           "DBGP"      /* Debug Port table */
  71 #define ACPI_SIG_DMAR           "DMAR"      /* DMA Remapping table */
  72 #define ACPI_SIG_HPET           "HPET"      /* High Precision Event Timer table */
  73 #define ACPI_SIG_IBFT           "IBFT"      /* iSCSI Boot Firmware Table */
  74 #define ACPI_SIG_IVRS           "IVRS"      /* I/O Virtualization Reporting Structure */
  75 #define ACPI_SIG_MCFG           "MCFG"      /* PCI Memory Mapped Configuration table */
  76 #define ACPI_SIG_MCHI           "MCHI"      /* Management Controller Host Interface table */
  77 #define ACPI_SIG_MTMR           "MTMR"      /* MID Timer table */
  78 #define ACPI_SIG_SLIC           "SLIC"      /* Software Licensing Description Table */
  79 #define ACPI_SIG_SPCR           "SPCR"      /* Serial Port Console Redirection table */
  80 #define ACPI_SIG_SPMI           "SPMI"      /* Server Platform Management Interface table */
  81 #define ACPI_SIG_TCPA           "TCPA"      /* Trusted Computing Platform Alliance table */
  82 #define ACPI_SIG_UEFI           "UEFI"      /* Uefi Boot Optimization Table */
  83 #define ACPI_SIG_VRTC           "VRTC"      /* Virtual Real Time Clock Table */
  84 #define ACPI_SIG_WAET           "WAET"      /* Windows ACPI Emulated devices Table */
  85 #define ACPI_SIG_WDAT           "WDAT"      /* Watchdog Action Table */
  86 #define ACPI_SIG_WDDT           "WDDT"      /* Watchdog Timer Description Table */
  87 #define ACPI_SIG_WDRT           "WDRT"      /* Watchdog Resource Table */
  88 
  89 #ifdef ACPI_UNDEFINED_TABLES
  90 /*
  91  * These tables have been seen in the field, but no definition has been found
  92  */
  93 #define ACPI_SIG_ATKG           "ATKG"
  94 #define ACPI_SIG_GSCI           "GSCI"      /* GMCH SCI table */
  95 #define ACPI_SIG_IEIT           "IEIT"
  96 #endif
  97 
  98 /*
  99  * All tables must be byte-packed to match the ACPI specification, since
 100  * the tables are provided by the system BIOS.
 101  */
 102 #pragma pack(1)
 103 
 104 /*
 105  * Note: C bitfields are not used for this reason:
 106  *
 107  * "Bitfields are great and easy to read, but unfortunately the C language
 108  * does not specify the layout of bitfields in memory, which means they are
 109  * essentially useless for dealing with packed data in on-disk formats or
 110  * binary wire protocols." (Or ACPI tables and buffers.) "If you ask me,
 111  * this decision was a design error in C. Ritchie could have picked an order
 112  * and stuck with it." Norman Ramsey.
 113  * See http://stackoverflow.com/a/1053662/41661
 114  */
 115 
 116 
 117 /*******************************************************************************
 118  *
 119  * ASF - Alert Standard Format table (Signature "ASF!")
 120  *       Revision 0x10
 121  *
 122  * Conforms to the Alert Standard Format Specification V2.0, 23 April 2003
 123  *
 124  ******************************************************************************/
 125 
 126 typedef struct acpi_table_asf
 127 {
 128     ACPI_TABLE_HEADER       Header;             /* Common ACPI table header */
 129 
 130 } ACPI_TABLE_ASF;
 131 
 132 
 133 /* ASF subtable header */


 257 /*******************************************************************************
 258  *
 259  * BOOT - Simple Boot Flag Table
 260  *        Version 1
 261  *
 262  * Conforms to the "Simple Boot Flag Specification", Version 2.1
 263  *
 264  ******************************************************************************/
 265 
 266 typedef struct acpi_table_boot
 267 {
 268     ACPI_TABLE_HEADER       Header;             /* Common ACPI table header */
 269     UINT8                   CmosIndex;          /* Index in CMOS RAM for the boot register */
 270     UINT8                   Reserved[3];
 271 
 272 } ACPI_TABLE_BOOT;
 273 
 274 
 275 /*******************************************************************************
 276  *
 277  * CSRT - Core System Resource Table
 278  *        Version 0
 279  *
 280  * Conforms to the "Core System Resource Table (CSRT)", November 14, 2011
 281  *
 282  ******************************************************************************/
 283 
 284 typedef struct acpi_table_csrt
 285 {
 286     ACPI_TABLE_HEADER       Header;             /* Common ACPI table header */
 287 
 288 } ACPI_TABLE_CSRT;
 289 
 290 
 291 /* Resource Group subtable */
 292 
 293 typedef struct acpi_csrt_group
 294 {
 295     UINT32                  Length;
 296     UINT32                  VendorId;
 297     UINT32                  SubvendorId;
 298     UINT16                  DeviceId;
 299     UINT16                  SubdeviceId;
 300     UINT16                  Revision;
 301     UINT16                  Reserved;
 302     UINT32                  SharedInfoLength;
 303 
 304     /* Shared data immediately follows (Length = SharedInfoLength) */
 305 
 306 } ACPI_CSRT_GROUP;
 307 
 308 /* Shared Info subtable */
 309 
 310 typedef struct acpi_csrt_shared_info
 311 {
 312     UINT16                  MajorVersion;
 313     UINT16                  MinorVersion;
 314     UINT32                  MmioBaseLow;
 315     UINT32                  MmioBaseHigh;
 316     UINT32                  GsiInterrupt;
 317     UINT8                   InterruptPolarity;
 318     UINT8                   InterruptMode;
 319     UINT8                   NumChannels;
 320     UINT8                   DmaAddressWidth;
 321     UINT16                  BaseRequestLine;
 322     UINT16                  NumHandshakeSignals;
 323     UINT32                  MaxBlockSize;
 324 
 325     /* Resource descriptors immediately follow (Length = Group Length - SharedInfoLength) */
 326 
 327 } ACPI_CSRT_SHARED_INFO;
 328 
 329 /* Resource Descriptor subtable */
 330 
 331 typedef struct acpi_csrt_descriptor
 332 {
 333     UINT32                  Length;
 334     UINT16                  Type;
 335     UINT16                  Subtype;
 336     UINT32                  Uid;
 337 
 338     /* Resource-specific information immediately follows */
 339 
 340 } ACPI_CSRT_DESCRIPTOR;
 341 
 342 
 343 /* Resource Types */
 344 
 345 #define ACPI_CSRT_TYPE_INTERRUPT    0x0001
 346 #define ACPI_CSRT_TYPE_TIMER        0x0002
 347 #define ACPI_CSRT_TYPE_DMA          0x0003
 348 
 349 /* Resource Subtypes */
 350 
 351 #define ACPI_CSRT_XRUPT_LINE        0x0000
 352 #define ACPI_CSRT_XRUPT_CONTROLLER  0x0001
 353 #define ACPI_CSRT_TIMER             0x0000
 354 #define ACPI_CSRT_DMA_CHANNEL       0x0000
 355 #define ACPI_CSRT_DMA_CONTROLLER    0x0001
 356 
 357 
 358 /*******************************************************************************
 359  *
 360  * DBG2 - Debug Port Table 2
 361  *        Version 0 (Both main table and subtables)
 362  *
 363  * Conforms to "Microsoft Debug Port Table 2 (DBG2)", May 22 2012.
 364  *
 365  ******************************************************************************/
 366 
 367 typedef struct acpi_table_dbg2
 368 {
 369     ACPI_TABLE_HEADER       Header;             /* Common ACPI table header */
 370     UINT32                  InfoOffset;
 371     UINT32                  InfoCount;
 372 
 373 } ACPI_TABLE_DBG2;
 374 
 375 
 376 typedef struct acpi_dbg2_header
 377 {
 378     UINT32                  InfoOffset;
 379     UINT32                  InfoCount;
 380 
 381 } ACPI_DBG2_HEADER;
 382 
 383 
 384 /* Debug Device Information Subtable */
 385 
 386 typedef struct acpi_dbg2_device
 387 {
 388     UINT8                   Revision;
 389     UINT16                  Length;
 390     UINT8                   RegisterCount;      /* Number of BaseAddress registers */
 391     UINT16                  NamepathLength;
 392     UINT16                  NamepathOffset;
 393     UINT16                  OemDataLength;
 394     UINT16                  OemDataOffset;
 395     UINT16                  PortType;
 396     UINT16                  PortSubtype;
 397     UINT16                  Reserved;
 398     UINT16                  BaseAddressOffset;
 399     UINT16                  AddressSizeOffset;
 400     /*
 401      * Data that follows:
 402      *    BaseAddress (required) - Each in 12-byte Generic Address Structure format.
 403      *    AddressSize (required) - Array of UINT32 sizes corresponding to each BaseAddress register.
 404      *    Namepath    (required) - Null terminated string. Single dot if not supported.
 405      *    OemData     (optional) - Length is OemDataLength.
 406      */
 407 } ACPI_DBG2_DEVICE;
 408 
 409 /* Types for PortType field above */
 410 
 411 #define ACPI_DBG2_SERIAL_PORT       0x8000
 412 #define ACPI_DBG2_1394_PORT         0x8001
 413 #define ACPI_DBG2_USB_PORT          0x8002
 414 #define ACPI_DBG2_NET_PORT          0x8003
 415 
 416 /* Subtypes for PortSubtype field above */
 417 
 418 #define ACPI_DBG2_16550_COMPATIBLE  0x0000
 419 #define ACPI_DBG2_16550_SUBSET      0x0001
 420 
 421 #define ACPI_DBG2_1394_STANDARD     0x0000
 422 
 423 #define ACPI_DBG2_USB_XHCI          0x0000
 424 #define ACPI_DBG2_USB_EHCI          0x0001
 425 
 426 
 427 /*******************************************************************************
 428  *
 429  * DBGP - Debug Port table
 430  *        Version 1
 431  *
 432  * Conforms to the "Debug Port Specification", Version 1.00, 2/9/2000
 433  *
 434  ******************************************************************************/
 435 
 436 typedef struct acpi_table_dbgp
 437 {
 438     ACPI_TABLE_HEADER       Header;             /* Common ACPI table header */
 439     UINT8                   Type;               /* 0=full 16550, 1=subset of 16550 */
 440     UINT8                   Reserved[3];
 441     ACPI_GENERIC_ADDRESS    DebugPort;
 442 
 443 } ACPI_TABLE_DBGP;
 444 
 445 
 446 /*******************************************************************************
 447  *
 448  * DMAR - DMA Remapping table


 976 {
 977     ACPI_TABLE_HEADER       Header;             /* Common ACPI table header */
 978     UINT8                   InterfaceType;
 979     UINT8                   Protocol;
 980     UINT64                  ProtocolData;
 981     UINT8                   InterruptType;
 982     UINT8                   Gpe;
 983     UINT8                   PciDeviceFlag;
 984     UINT32                  GlobalInterrupt;
 985     ACPI_GENERIC_ADDRESS    ControlRegister;
 986     UINT8                   PciSegment;
 987     UINT8                   PciBus;
 988     UINT8                   PciDevice;
 989     UINT8                   PciFunction;
 990 
 991 } ACPI_TABLE_MCHI;
 992 
 993 
 994 /*******************************************************************************
 995  *
 996  * MTMR - MID Timer Table
 997  *        Version 1
 998  *
 999  * Conforms to "Simple Firmware Interface Specification",
1000  * Draft 0.8.2, Oct 19, 2010
1001  * NOTE: The ACPI MTMR is equivalent to the SFI MTMR table.
1002  *
1003  ******************************************************************************/
1004 
1005 typedef struct acpi_table_mtmr
1006 {
1007     ACPI_TABLE_HEADER       Header;             /* Common ACPI table header */
1008 
1009 } ACPI_TABLE_MTMR;
1010 
1011 /* MTMR entry */
1012 
1013 typedef struct acpi_mtmr_entry
1014 {
1015     ACPI_GENERIC_ADDRESS    PhysicalAddress;
1016     UINT32                  Frequency;
1017     UINT32                  Irq;
1018 
1019 } ACPI_MTMR_ENTRY;
1020 
1021 
1022 /*******************************************************************************
1023  *
1024  * SLIC - Software Licensing Description Table
1025  *        Version 1
1026  *
1027  * Conforms to "OEM Activation 2.0 for Windows Vista Operating Systems",
1028  * Copyright 2006
1029  *
1030  ******************************************************************************/
1031 
1032 /* Basic SLIC table is only the common ACPI header */
1033 
1034 typedef struct acpi_table_slic
1035 {
1036     ACPI_TABLE_HEADER       Header;             /* Common ACPI table header */
1037 
1038 } ACPI_TABLE_SLIC;
1039 
1040 
1041 /* Common SLIC subtable header */
1042 
1043 typedef struct acpi_slic_header


1203  *
1204  * UEFI - UEFI Boot optimization Table
1205  *        Version 1
1206  *
1207  * Conforms to "Unified Extensible Firmware Interface Specification",
1208  * Version 2.3, May 8, 2009
1209  *
1210  ******************************************************************************/
1211 
1212 typedef struct acpi_table_uefi
1213 {
1214     ACPI_TABLE_HEADER       Header;             /* Common ACPI table header */
1215     UINT8                   Identifier[16];     /* UUID identifier */
1216     UINT16                  DataOffset;         /* Offset of remaining data in table */
1217 
1218 } ACPI_TABLE_UEFI;
1219 
1220 
1221 /*******************************************************************************
1222  *
1223  * VRTC - Virtual Real Time Clock Table
1224  *        Version 1
1225  *
1226  * Conforms to "Simple Firmware Interface Specification",
1227  * Draft 0.8.2, Oct 19, 2010
1228  * NOTE: The ACPI VRTC is equivalent to The SFI MRTC table.
1229  *
1230  ******************************************************************************/
1231 
1232 typedef struct acpi_table_vrtc
1233 {
1234     ACPI_TABLE_HEADER       Header;             /* Common ACPI table header */
1235 
1236 } ACPI_TABLE_VRTC;
1237 
1238 /* VRTC entry */
1239 
1240 typedef struct acpi_vrtc_entry
1241 {
1242     ACPI_GENERIC_ADDRESS    PhysicalAddress;
1243     UINT32                  Irq;
1244 
1245 } ACPI_VRTC_ENTRY;
1246 
1247 
1248 /*******************************************************************************
1249  *
1250  * WAET - Windows ACPI Emulated devices Table
1251  *        Version 1
1252  *
1253  * Conforms to "Windows ACPI Emulated Devices Table", version 1.0, April 6, 2009
1254  *
1255  ******************************************************************************/
1256 
1257 typedef struct acpi_table_waet
1258 {
1259     ACPI_TABLE_HEADER       Header;             /* Common ACPI table header */
1260     UINT32                  Flags;
1261 
1262 } ACPI_TABLE_WAET;
1263 
1264 /* Masks for Flags field above */
1265 
1266 #define ACPI_WAET_RTC_NO_ACK        (1)         /* RTC requires no int acknowledge */
1267 #define ACPI_WAET_TIMER_ONE_READ    (1<<1)      /* PM timer requires only one read */
1268 
1269 


1404     ACPI_TABLE_HEADER       Header;             /* Common ACPI table header */
1405     ACPI_GENERIC_ADDRESS    ControlRegister;
1406     ACPI_GENERIC_ADDRESS    CountRegister;
1407     UINT16                  PciDeviceId;
1408     UINT16                  PciVendorId;
1409     UINT8                   PciBus;             /* PCI Bus number */
1410     UINT8                   PciDevice;          /* PCI Device number */
1411     UINT8                   PciFunction;        /* PCI Function number */
1412     UINT8                   PciSegment;         /* PCI Segment number */
1413     UINT16                  MaxCount;           /* Maximum counter value supported */
1414     UINT8                   Units;
1415 
1416 } ACPI_TABLE_WDRT;
1417 
1418 
1419 /* Reset to default packing */
1420 
1421 #pragma pack()
1422 
1423 #endif /* __ACTBL2_H__ */