ReactOS  0.4.15-dev-345-g5d88487
actbl1.h
Go to the documentation of this file.
1 /******************************************************************************
2  *
3  * Name: actbl1.h - Additional ACPI table definitions
4  *
5  *****************************************************************************/
6 
7 /*
8  * Copyright (C) 2000 - 2020, 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.
29  *
30  * NO WARRANTY
31  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
32  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
33  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
34  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
35  * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
36  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
37  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
38  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
39  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
40  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
41  * POSSIBILITY OF SUCH DAMAGES.
42  */
43 
44 #ifndef __ACTBL1_H__
45 #define __ACTBL1_H__
46 
47 
48 /*******************************************************************************
49  *
50  * Additional ACPI Tables
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  ******************************************************************************/
56 
57 
58 /*
59  * Values for description table header signatures for tables defined in this
60  * file. Useful because they make it more difficult to inadvertently type in
61  * the wrong signature.
62  */
63 #define ACPI_SIG_ASF "ASF!" /* Alert Standard Format table */
64 #define ACPI_SIG_BERT "BERT" /* Boot Error Record Table */
65 #define ACPI_SIG_BGRT "BGRT" /* Boot Graphics Resource Table */
66 #define ACPI_SIG_BOOT "BOOT" /* Simple Boot Flag Table */
67 #define ACPI_SIG_CPEP "CPEP" /* Corrected Platform Error Polling 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_DRTM "DRTM" /* Dynamic Root of Trust for Measurement table */
73 #define ACPI_SIG_ECDT "ECDT" /* Embedded Controller Boot Resources Table */
74 #define ACPI_SIG_EINJ "EINJ" /* Error Injection table */
75 #define ACPI_SIG_ERST "ERST" /* Error Record Serialization Table */
76 #define ACPI_SIG_FPDT "FPDT" /* Firmware Performance Data Table */
77 #define ACPI_SIG_GTDT "GTDT" /* Generic Timer Description Table */
78 #define ACPI_SIG_HEST "HEST" /* Hardware Error Source Table */
79 #define ACPI_SIG_HMAT "HMAT" /* Heterogeneous Memory Attributes Table */
80 #define ACPI_SIG_HPET "HPET" /* High Precision Event Timer table */
81 #define ACPI_SIG_IBFT "IBFT" /* iSCSI Boot Firmware Table */
82 
83 #define ACPI_SIG_S3PT "S3PT" /* S3 Performance (sub)Table */
84 #define ACPI_SIG_PCCS "PCC" /* PCC Shared Memory Region */
85 
86 
87 /* Reserved table signatures */
88 
89 #define ACPI_SIG_MATR "MATR" /* Memory Address Translation Table */
90 #define ACPI_SIG_MSDM "MSDM" /* Microsoft Data Management Table */
91 
92 /*
93  * These tables have been seen in the field, but no definition has been found
94  */
95 #ifdef ACPI_UNDEFINED_TABLES
96 #define ACPI_SIG_ATKG "ATKG"
97 #define ACPI_SIG_GSCI "GSCI" /* GMCH SCI table */
98 #define ACPI_SIG_IEIT "IEIT"
99 #endif
100 
101 /*
102  * All tables must be byte-packed to match the ACPI specification, since
103  * the tables are provided by the system BIOS.
104  */
105 #pragma pack(1)
106 
107 /*
108  * Note: C bitfields are not used for this reason:
109  *
110  * "Bitfields are great and easy to read, but unfortunately the C language
111  * does not specify the layout of bitfields in memory, which means they are
112  * essentially useless for dealing with packed data in on-disk formats or
113  * binary wire protocols." (Or ACPI tables and buffers.) "If you ask me,
114  * this decision was a design error in C. Ritchie could have picked an order
115  * and stuck with it." Norman Ramsey.
116  * See http://stackoverflow.com/a/1053662/41661
117  */
118 
119 
120 /*******************************************************************************
121  *
122  * Common subtable headers
123  *
124  ******************************************************************************/
125 
126 /* Generic subtable header (used in MADT, SRAT, etc.) */
127 
128 typedef struct acpi_subtable_header
129 {
132 
134 
135 
136 /* Subtable header for WHEA tables (EINJ, ERST, WDAT) */
137 
138 typedef struct acpi_whea_header
139 {
145  UINT64 Value; /* Value used with Read/Write register */
146  UINT64 Mask; /* Bitmask required for this register instruction */
147 
149 
150 
151 /*******************************************************************************
152  *
153  * ASF - Alert Standard Format table (Signature "ASF!")
154  * Revision 0x10
155  *
156  * Conforms to the Alert Standard Format Specification V2.0, 23 April 2003
157  *
158  ******************************************************************************/
159 
160 typedef struct acpi_table_asf
161 {
162  ACPI_TABLE_HEADER Header; /* Common ACPI table header */
163 
165 
166 
167 /* ASF subtable header */
168 
169 typedef struct acpi_asf_header
170 {
174 
176 
177 
178 /* Values for Type field above */
179 
181 {
188 };
189 
190 /*
191  * ASF subtables
192  */
193 
194 /* 0: ASF Information */
195 
196 typedef struct acpi_asf_info
197 {
205 
206 } ACPI_ASF_INFO;
207 
208 /* Masks for Flags field above */
209 
210 #define ACPI_ASF_SMBUS_PROTOCOLS (1)
211 
212 
213 /* 1: ASF Alerts */
214 
215 typedef struct acpi_asf_alert
216 {
222 
224 
225 typedef struct acpi_asf_alert_data
226 {
239 
241 
242 
243 /* 2: ASF Remote Control */
244 
245 typedef struct acpi_asf_remote
246 {
251 
253 
254 typedef struct acpi_asf_control_data
255 {
260 
262 
263 
264 /* 3: ASF RMCP Boot Options */
265 
266 typedef struct acpi_asf_rmcp
267 {
276 
277 } ACPI_ASF_RMCP;
278 
279 
280 /* 4: ASF Address */
281 
282 typedef struct acpi_asf_address
283 {
287 
289 
290 
291 /*******************************************************************************
292  *
293  * BERT - Boot Error Record Table (ACPI 4.0)
294  * Version 1
295  *
296  ******************************************************************************/
297 
298 typedef struct acpi_table_bert
299 {
300  ACPI_TABLE_HEADER Header; /* Common ACPI table header */
301  UINT32 RegionLength; /* Length of the boot error region */
302  UINT64 Address; /* Physical address of the error region */
303 
305 
306 
307 /* Boot Error Region (not a subtable, pointed to by Address field above) */
308 
309 typedef struct acpi_bert_region
310 {
311  UINT32 BlockStatus; /* Type of error information */
312  UINT32 RawDataOffset; /* Offset to raw error data */
313  UINT32 RawDataLength; /* Length of raw error data */
314  UINT32 DataLength; /* Length of generic error data */
315  UINT32 ErrorSeverity; /* Severity code */
316 
318 
319 /* Values for BlockStatus flags above */
320 
321 #define ACPI_BERT_UNCORRECTABLE (1)
322 #define ACPI_BERT_CORRECTABLE (1<<1)
323 #define ACPI_BERT_MULTIPLE_UNCORRECTABLE (1<<2)
324 #define ACPI_BERT_MULTIPLE_CORRECTABLE (1<<3)
325 #define ACPI_BERT_ERROR_ENTRY_COUNT (0xFF<<4) /* 8 bits, error count */
326 
327 /* Values for ErrorSeverity above */
328 
330 {
335  ACPI_BERT_ERROR_RESERVED = 4 /* 4 and greater are reserved */
336 };
337 
338 /*
339  * Note: The generic error data that follows the ErrorSeverity field above
340  * uses the ACPI_HEST_GENERIC_DATA defined under the HEST table below
341  */
342 
343 
344 /*******************************************************************************
345  *
346  * BGRT - Boot Graphics Resource Table (ACPI 5.0)
347  * Version 1
348  *
349  ******************************************************************************/
350 
351 typedef struct acpi_table_bgrt
352 {
353  ACPI_TABLE_HEADER Header; /* Common ACPI table header */
360 
362 
363 /* Flags for Status field above */
364 
365 #define ACPI_BGRT_DISPLAYED (1)
366 #define ACPI_BGRT_ORIENTATION_OFFSET (3 << 1)
367 
368 
369 /*******************************************************************************
370  *
371  * BOOT - Simple Boot Flag Table
372  * Version 1
373  *
374  * Conforms to the "Simple Boot Flag Specification", Version 2.1
375  *
376  ******************************************************************************/
377 
378 typedef struct acpi_table_boot
379 {
380  ACPI_TABLE_HEADER Header; /* Common ACPI table header */
381  UINT8 CmosIndex; /* Index in CMOS RAM for the boot register */
383 
385 
386 
387 /*******************************************************************************
388  *
389  * CPEP - Corrected Platform Error Polling table (ACPI 4.0)
390  * Version 1
391  *
392  ******************************************************************************/
393 
394 typedef struct acpi_table_cpep
395 {
396  ACPI_TABLE_HEADER Header; /* Common ACPI table header */
398 
400 
401 
402 /* Subtable */
403 
404 typedef struct acpi_cpep_polling
405 {
407  UINT8 Id; /* Processor ID */
408  UINT8 Eid; /* Processor EID */
409  UINT32 Interval; /* Polling interval (msec) */
410 
412 
413 
414 /*******************************************************************************
415  *
416  * CSRT - Core System Resource Table
417  * Version 0
418  *
419  * Conforms to the "Core System Resource Table (CSRT)", November 14, 2011
420  *
421  ******************************************************************************/
422 
423 typedef struct acpi_table_csrt
424 {
425  ACPI_TABLE_HEADER Header; /* Common ACPI table header */
426 
428 
429 
430 /* Resource Group subtable */
431 
432 typedef struct acpi_csrt_group
433 {
442 
443  /* Shared data immediately follows (Length = SharedInfoLength) */
444 
446 
447 /* Shared Info subtable */
448 
449 typedef struct acpi_csrt_shared_info
450 {
463 
464  /* Resource descriptors immediately follow (Length = Group Length - SharedInfoLength) */
465 
467 
468 /* Resource Descriptor subtable */
469 
470 typedef struct acpi_csrt_descriptor
471 {
476 
477  /* Resource-specific information immediately follows */
478 
480 
481 
482 /* Resource Types */
483 
484 #define ACPI_CSRT_TYPE_INTERRUPT 0x0001
485 #define ACPI_CSRT_TYPE_TIMER 0x0002
486 #define ACPI_CSRT_TYPE_DMA 0x0003
487 
488 /* Resource Subtypes */
489 
490 #define ACPI_CSRT_XRUPT_LINE 0x0000
491 #define ACPI_CSRT_XRUPT_CONTROLLER 0x0001
492 #define ACPI_CSRT_TIMER 0x0000
493 #define ACPI_CSRT_DMA_CHANNEL 0x0000
494 #define ACPI_CSRT_DMA_CONTROLLER 0x0001
495 
496 
497 /*******************************************************************************
498  *
499  * DBG2 - Debug Port Table 2
500  * Version 0 (Both main table and subtables)
501  *
502  * Conforms to "Microsoft Debug Port Table 2 (DBG2)", December 10, 2015
503  *
504  ******************************************************************************/
505 
506 typedef struct acpi_table_dbg2
507 {
508  ACPI_TABLE_HEADER Header; /* Common ACPI table header */
511 
513 
514 
515 typedef struct acpi_dbg2_header
516 {
519 
521 
522 
523 /* Debug Device Information Subtable */
524 
525 typedef struct acpi_dbg2_device
526 {
529  UINT8 RegisterCount; /* Number of BaseAddress registers */
539  /*
540  * Data that follows:
541  * BaseAddress (required) - Each in 12-byte Generic Address Structure format.
542  * AddressSize (required) - Array of UINT32 sizes corresponding to each BaseAddress register.
543  * Namepath (required) - Null terminated string. Single dot if not supported.
544  * OemData (optional) - Length is OemDataLength.
545  */
547 
548 /* Types for PortType field above */
549 
550 #define ACPI_DBG2_SERIAL_PORT 0x8000
551 #define ACPI_DBG2_1394_PORT 0x8001
552 #define ACPI_DBG2_USB_PORT 0x8002
553 #define ACPI_DBG2_NET_PORT 0x8003
554 
555 /* Subtypes for PortSubtype field above */
556 
557 #define ACPI_DBG2_16550_COMPATIBLE 0x0000
558 #define ACPI_DBG2_16550_SUBSET 0x0001
559 #define ACPI_DBG2_ARM_PL011 0x0003
560 #define ACPI_DBG2_ARM_SBSA_32BIT 0x000D
561 #define ACPI_DBG2_ARM_SBSA_GENERIC 0x000E
562 #define ACPI_DBG2_ARM_DCC 0x000F
563 #define ACPI_DBG2_BCM2835 0x0010
564 
565 #define ACPI_DBG2_1394_STANDARD 0x0000
566 
567 #define ACPI_DBG2_USB_XHCI 0x0000
568 #define ACPI_DBG2_USB_EHCI 0x0001
569 
570 
571 /*******************************************************************************
572  *
573  * DBGP - Debug Port table
574  * Version 1
575  *
576  * Conforms to the "Debug Port Specification", Version 1.00, 2/9/2000
577  *
578  ******************************************************************************/
579 
580 typedef struct acpi_table_dbgp
581 {
582  ACPI_TABLE_HEADER Header; /* Common ACPI table header */
583  UINT8 Type; /* 0=full 16550, 1=subset of 16550 */
586 
588 
589 
590 /*******************************************************************************
591  *
592  * DMAR - DMA Remapping table
593  * Version 1
594  *
595  * Conforms to "Intel Virtualization Technology for Directed I/O",
596  * Version 2.3, October 2014
597  *
598  ******************************************************************************/
599 
600 typedef struct acpi_table_dmar
601 {
602  ACPI_TABLE_HEADER Header; /* Common ACPI table header */
603  UINT8 Width; /* Host Address Width */
606 
608 
609 /* Masks for Flags field above */
610 
611 #define ACPI_DMAR_INTR_REMAP (1)
612 #define ACPI_DMAR_X2APIC_OPT_OUT (1<<1)
613 #define ACPI_DMAR_X2APIC_MODE (1<<2)
614 
615 
616 /* DMAR subtable header */
617 
618 typedef struct acpi_dmar_header
619 {
622 
624 
625 /* Values for subtable type in ACPI_DMAR_HEADER */
626 
628 {
634  ACPI_DMAR_TYPE_RESERVED = 5 /* 5 and greater are reserved */
635 };
636 
637 
638 /* DMAR Device Scope structure */
639 
641 {
647 
649 
650 /* Values for EntryType in ACPI_DMAR_DEVICE_SCOPE - device types */
651 
653 {
660  ACPI_DMAR_SCOPE_TYPE_RESERVED = 6 /* 6 and greater are reserved */
661 };
662 
663 typedef struct acpi_dmar_pci_path
664 {
667 
669 
670 
671 /*
672  * DMAR Subtables, correspond to Type in ACPI_DMAR_HEADER
673  */
674 
675 /* 0: Hardware Unit Definition */
676 
678 {
683  UINT64 Address; /* Register Base Address */
684 
686 
687 /* Masks for Flags field above */
688 
689 #define ACPI_DMAR_INCLUDE_ALL (1)
690 
691 
692 /* 1: Reserved Memory Definition */
693 
695 {
699  UINT64 BaseAddress; /* 4K aligned base address */
700  UINT64 EndAddress; /* 4K aligned limit address */
701 
703 
704 /* Masks for Flags field above */
705 
706 #define ACPI_DMAR_ALLOW_ALL (1)
707 
708 
709 /* 2: Root Port ATS Capability Reporting Structure */
710 
711 typedef struct acpi_dmar_atsr
712 {
717 
719 
720 /* Masks for Flags field above */
721 
722 #define ACPI_DMAR_ALL_PORTS (1)
723 
724 
725 /* 3: Remapping Hardware Static Affinity Structure */
726 
727 typedef struct acpi_dmar_rhsa
728 {
733 
735 
736 
737 /* 4: ACPI Namespace Device Declaration Structure */
738 
739 typedef struct acpi_dmar_andd
740 {
744  char DeviceName[1];
745 
747 
748 
749 /*******************************************************************************
750  *
751  * DRTM - Dynamic Root of Trust for Measurement table
752  * Conforms to "TCG D-RTM Architecture" June 17 2013, Version 1.0.0
753  * Table version 1
754  *
755  ******************************************************************************/
756 
757 typedef struct acpi_table_drtm
758 {
759  ACPI_TABLE_HEADER Header; /* Common ACPI table header */
769 
771 
772 /* Flag Definitions for above */
773 
774 #define ACPI_DRTM_ACCESS_ALLOWED (1)
775 #define ACPI_DRTM_ENABLE_GAP_CODE (1<<1)
776 #define ACPI_DRTM_INCOMPLETE_MEASUREMENTS (1<<2)
777 #define ACPI_DRTM_AUTHORITY_ORDER (1<<3)
778 
779 
780 /* 1) Validated Tables List (64-bit addresses) */
781 
782 typedef struct acpi_drtm_vtable_list
783 {
786 
788 
789 /* 2) Resources List (of Resource Descriptors) */
790 
791 /* Resource Descriptor */
792 
793 typedef struct acpi_drtm_resource
794 {
798 
800 
802 {
805 
807 
808 /* 3) Platform-specific Identifiers List */
809 
810 typedef struct acpi_drtm_dps_id
811 {
814 
816 
817 
818 /*******************************************************************************
819  *
820  * ECDT - Embedded Controller Boot Resources Table
821  * Version 1
822  *
823  ******************************************************************************/
824 
825 typedef struct acpi_table_ecdt
826 {
827  ACPI_TABLE_HEADER Header; /* Common ACPI table header */
828  ACPI_GENERIC_ADDRESS Control; /* Address of EC command/status register */
829  ACPI_GENERIC_ADDRESS Data; /* Address of EC data register */
830  UINT32 Uid; /* Unique ID - must be same as the EC _UID method */
831  UINT8 Gpe; /* The GPE for the EC */
832  UINT8 Id[1]; /* Full namepath of the EC in the ACPI namespace */
833 
835 
836 
837 /*******************************************************************************
838  *
839  * EINJ - Error Injection Table (ACPI 4.0)
840  * Version 1
841  *
842  ******************************************************************************/
843 
844 typedef struct acpi_table_einj
845 {
846  ACPI_TABLE_HEADER Header; /* Common ACPI table header */
851 
853 
854 
855 /* EINJ Injection Instruction Entries (actions) */
856 
857 typedef struct acpi_einj_entry
858 {
859  ACPI_WHEA_HEADER WheaHeader; /* Common header for WHEA tables */
860 
862 
863 /* Masks for Flags field above */
864 
865 #define ACPI_EINJ_PRESERVE (1)
866 
867 /* Values for Action field above */
868 
870 {
881  ACPI_EINJ_ACTION_RESERVED = 10, /* 10 and greater are reserved */
882  ACPI_EINJ_TRIGGER_ERROR = 0xFF /* Except for this value */
883 };
884 
885 /* Values for Instruction field above */
886 
888 {
895  ACPI_EINJ_INSTRUCTION_RESERVED = 6 /* 6 and greater are reserved */
896 };
897 
899 {
907 
909 
910 typedef struct acpi_einj_vendor
911 {
918 
920 
921 
922 /* EINJ Trigger Error Action Table */
923 
924 typedef struct acpi_einj_trigger
925 {
930 
932 
933 /* Command status return values */
934 
936 {
940  ACPI_EINJ_STATUS_RESERVED = 3 /* 3 and greater are reserved */
941 };
942 
943 
944 /* Error types returned from ACPI_EINJ_GET_ERROR_TYPE (bitfield) */
945 
946 #define ACPI_EINJ_PROCESSOR_CORRECTABLE (1)
947 #define ACPI_EINJ_PROCESSOR_UNCORRECTABLE (1<<1)
948 #define ACPI_EINJ_PROCESSOR_FATAL (1<<2)
949 #define ACPI_EINJ_MEMORY_CORRECTABLE (1<<3)
950 #define ACPI_EINJ_MEMORY_UNCORRECTABLE (1<<4)
951 #define ACPI_EINJ_MEMORY_FATAL (1<<5)
952 #define ACPI_EINJ_PCIX_CORRECTABLE (1<<6)
953 #define ACPI_EINJ_PCIX_UNCORRECTABLE (1<<7)
954 #define ACPI_EINJ_PCIX_FATAL (1<<8)
955 #define ACPI_EINJ_PLATFORM_CORRECTABLE (1<<9)
956 #define ACPI_EINJ_PLATFORM_UNCORRECTABLE (1<<10)
957 #define ACPI_EINJ_PLATFORM_FATAL (1<<11)
958 #define ACPI_EINJ_VENDOR_DEFINED (1<<31)
959 
960 
961 /*******************************************************************************
962  *
963  * ERST - Error Record Serialization Table (ACPI 4.0)
964  * Version 1
965  *
966  ******************************************************************************/
967 
968 typedef struct acpi_table_erst
969 {
970  ACPI_TABLE_HEADER Header; /* Common ACPI table header */
974 
976 
977 
978 /* ERST Serialization Entries (actions) */
979 
980 typedef struct acpi_erst_entry
981 {
982  ACPI_WHEA_HEADER WheaHeader; /* Common header for WHEA tables */
983 
985 
986 /* Masks for Flags field above */
987 
988 #define ACPI_ERST_PRESERVE (1)
989 
990 /* Values for Action field above */
991 
993 {
1011  ACPI_ERST_ACTION_RESERVED = 17 /* 17 and greater are reserved */
1012 };
1013 
1014 /* Values for Instruction field above */
1015 
1017 {
1037  ACPI_ERST_INSTRUCTION_RESERVED = 19 /* 19 and greater are reserved */
1038 };
1039 
1040 /* Command status return values */
1041 
1043 {
1050  ACPI_ERST_STATUS_RESERVED = 6 /* 6 and greater are reserved */
1051 };
1052 
1053 
1054 /* Error Record Serialization Information */
1055 
1056 typedef struct acpi_erst_info
1057 {
1058  UINT16 Signature; /* Should be "ER" */
1060 
1061 } ACPI_ERST_INFO;
1062 
1063 
1064 /*******************************************************************************
1065  *
1066  * FPDT - Firmware Performance Data Table (ACPI 5.0)
1067  * Version 1
1068  *
1069  ******************************************************************************/
1070 
1071 typedef struct acpi_table_fpdt
1072 {
1073  ACPI_TABLE_HEADER Header; /* Common ACPI table header */
1074 
1075 } ACPI_TABLE_FPDT;
1076 
1077 
1078 /* FPDT subtable header (Performance Record Structure) */
1079 
1080 typedef struct acpi_fpdt_header
1081 {
1085 
1087 
1088 /* Values for Type field above */
1089 
1091 {
1094 };
1095 
1096 
1097 /*
1098  * FPDT subtables
1099  */
1100 
1101 /* 0: Firmware Basic Boot Performance Record */
1102 
1104 {
1108 
1110 
1111 
1112 /* 1: S3 Performance Table Pointer Record */
1113 
1115 {
1119 
1121 
1122 
1123 /*
1124  * S3PT - S3 Performance Table. This table is pointed to by the
1125  * S3 Pointer Record above.
1126  */
1127 typedef struct acpi_table_s3pt
1128 {
1129  UINT8 Signature[4]; /* "S3PT" */
1131 
1132 } ACPI_TABLE_S3PT;
1133 
1134 
1135 /*
1136  * S3PT Subtables (Not part of the actual FPDT)
1137  */
1138 
1139 /* Values for Type field in S3PT header */
1140 
1142 {
1146 };
1147 
1148 typedef struct acpi_s3pt_resume
1149 {
1154 
1156 
1157 typedef struct acpi_s3pt_suspend
1158 {
1162 
1164 
1165 
1166 /*
1167  * FPDT Boot Performance Record (Not part of the actual FPDT)
1168  */
1169 typedef struct acpi_fpdt_boot
1170 {
1178 
1179 } ACPI_FPDT_BOOT;
1180 
1181 
1182 /*******************************************************************************
1183  *
1184  * GTDT - Generic Timer Description Table (ACPI 5.1)
1185  * Version 2
1186  *
1187  ******************************************************************************/
1188 
1189 typedef struct acpi_table_gtdt
1190 {
1191  ACPI_TABLE_HEADER Header; /* Common ACPI table header */
1205 
1206 } ACPI_TABLE_GTDT;
1207 
1208 /* Flag Definitions: Timer Block Physical Timers and Virtual timers */
1209 
1210 #define ACPI_GTDT_INTERRUPT_MODE (1)
1211 #define ACPI_GTDT_INTERRUPT_POLARITY (1<<1)
1212 #define ACPI_GTDT_ALWAYS_ON (1<<2)
1213 
1214 typedef struct acpi_gtdt_el2
1215 {
1218 } ACPI_GTDT_EL2;
1219 
1220 
1221 /* Common GTDT subtable header */
1222 
1223 typedef struct acpi_gtdt_header
1224 {
1227 
1229 
1230 /* Values for GTDT subtable type above */
1231 
1233 {
1236  ACPI_GTDT_TYPE_RESERVED = 2 /* 2 and greater are reserved */
1237 };
1238 
1239 
1240 /* GTDT Subtables, correspond to Type in acpi_gtdt_header */
1241 
1242 /* 0: Generic Timer Block */
1243 
1245 {
1251 
1253 
1254 /* Timer Sub-Structure, one per timer */
1255 
1257 {
1267 
1269 
1270 /* Flag Definitions: TimerFlags and VirtualTimerFlags above */
1271 
1272 #define ACPI_GTDT_GT_IRQ_MODE (1)
1273 #define ACPI_GTDT_GT_IRQ_POLARITY (1<<1)
1274 
1275 /* Flag Definitions: CommonFlags above */
1276 
1277 #define ACPI_GTDT_GT_IS_SECURE_TIMER (1)
1278 #define ACPI_GTDT_GT_ALWAYS_ON (1<<1)
1279 
1280 
1281 /* 1: SBSA Generic Watchdog Structure */
1282 
1283 typedef struct acpi_gtdt_watchdog
1284 {
1291 
1293 
1294 /* Flag Definitions: TimerFlags above */
1295 
1296 #define ACPI_GTDT_WATCHDOG_IRQ_MODE (1)
1297 #define ACPI_GTDT_WATCHDOG_IRQ_POLARITY (1<<1)
1298 #define ACPI_GTDT_WATCHDOG_SECURE (1<<2)
1299 
1300 
1301 /*******************************************************************************
1302  *
1303  * HEST - Hardware Error Source Table (ACPI 4.0)
1304  * Version 1
1305  *
1306  ******************************************************************************/
1307 
1308 typedef struct acpi_table_hest
1309 {
1310  ACPI_TABLE_HEADER Header; /* Common ACPI table header */
1312 
1313 } ACPI_TABLE_HEST;
1314 
1315 
1316 /* HEST subtable header */
1317 
1318 typedef struct acpi_hest_header
1319 {
1322 
1324 
1325 
1326 /* Values for Type field above for subtables */
1327 
1329 {
1342  ACPI_HEST_TYPE_RESERVED = 12 /* 12 and greater are reserved */
1343 };
1344 
1345 
1346 /*
1347  * HEST substructures contained in subtables
1348  */
1349 
1350 /*
1351  * IA32 Error Bank(s) - Follows the ACPI_HEST_IA_MACHINE_CHECK and
1352  * ACPI_HEST_IA_CORRECTED structures.
1353  */
1355 {
1365 
1367 
1368 
1369 /* Common HEST sub-structure for PCI/AER structures below (6,7,8) */
1370 
1371 typedef struct acpi_hest_aer_common
1372 {
1378  UINT32 Bus; /* Bus and Segment numbers */
1387 
1389 
1390 /* Masks for HEST Flags fields */
1391 
1392 #define ACPI_HEST_FIRMWARE_FIRST (1)
1393 #define ACPI_HEST_GLOBAL (1<<1)
1394 #define ACPI_HEST_GHES_ASSIST (1<<2)
1395 
1396 /*
1397  * Macros to access the bus/segment numbers in Bus field above:
1398  * Bus number is encoded in bits 7:0
1399  * Segment number is encoded in bits 23:8
1400  */
1401 #define ACPI_HEST_BUS(Bus) ((Bus) & 0xFF)
1402 #define ACPI_HEST_SEGMENT(Bus) (((Bus) >> 8) & 0xFFFF)
1403 
1404 
1405 /* Hardware Error Notification */
1406 
1407 typedef struct acpi_hest_notify
1408 {
1418 
1420 
1421 /* Values for Notify Type field above */
1422 
1424 {
1430  ACPI_HEST_NOTIFY_CMCI = 5, /* ACPI 5.0 */
1431  ACPI_HEST_NOTIFY_MCE = 6, /* ACPI 5.0 */
1432  ACPI_HEST_NOTIFY_GPIO = 7, /* ACPI 6.0 */
1433  ACPI_HEST_NOTIFY_SEA = 8, /* ACPI 6.1 */
1434  ACPI_HEST_NOTIFY_SEI = 9, /* ACPI 6.1 */
1435  ACPI_HEST_NOTIFY_GSIV = 10, /* ACPI 6.1 */
1437  ACPI_HEST_NOTIFY_RESERVED = 12 /* 12 and greater are reserved */
1438 };
1439 
1440 /* Values for ConfigWriteEnable bitfield above */
1441 
1442 #define ACPI_HEST_TYPE (1)
1443 #define ACPI_HEST_POLL_INTERVAL (1<<1)
1444 #define ACPI_HEST_POLL_THRESHOLD_VALUE (1<<2)
1445 #define ACPI_HEST_POLL_THRESHOLD_WINDOW (1<<3)
1446 #define ACPI_HEST_ERR_THRESHOLD_VALUE (1<<4)
1447 #define ACPI_HEST_ERR_THRESHOLD_WINDOW (1<<5)
1448 
1449 
1450 /*
1451  * HEST subtables
1452  */
1453 
1454 /* 0: IA32 Machine Check Exception */
1455 
1457 {
1460  UINT8 Flags; /* See flags ACPI_HEST_GLOBAL, etc. above */
1468 
1470 
1471 
1472 /* 1: IA32 Corrected Machine Check */
1473 
1475 {
1478  UINT8 Flags; /* See flags ACPI_HEST_GLOBAL, etc. above */
1485 
1487 
1488 
1489 /* 2: IA32 Non-Maskable Interrupt */
1490 
1491 typedef struct acpi_hest_ia_nmi
1492 {
1498 
1500 
1501 
1502 /* 3,4,5: Not used */
1503 
1504 /* 6: PCI Express Root Port AER */
1505 
1506 typedef struct acpi_hest_aer_root
1507 {
1511 
1513 
1514 
1515 /* 7: PCI Express AER (AER Endpoint) */
1516 
1517 typedef struct acpi_hest_aer
1518 {
1521 
1522 } ACPI_HEST_AER;
1523 
1524 
1525 /* 8: PCI Express/PCI-X Bridge AER */
1526 
1527 typedef struct acpi_hest_aer_bridge
1528 {
1534 
1536 
1537 
1538 /* 9: Generic Hardware Error Source */
1539 
1540 typedef struct acpi_hest_generic
1541 {
1552 
1554 
1555 
1556 /* 10: Generic Hardware Error Source, version 2 */
1557 
1558 typedef struct acpi_hest_generic_v2
1559 {
1573 
1575 
1576 
1577 /* Generic Error Status block */
1578 
1580 {
1586 
1588 
1589 /* Values for BlockStatus flags above */
1590 
1591 #define ACPI_HEST_UNCORRECTABLE (1)
1592 #define ACPI_HEST_CORRECTABLE (1<<1)
1593 #define ACPI_HEST_MULTIPLE_UNCORRECTABLE (1<<2)
1594 #define ACPI_HEST_MULTIPLE_CORRECTABLE (1<<3)
1595 #define ACPI_HEST_ERROR_ENTRY_COUNT (0xFF<<4) /* 8 bits, error count */
1596 
1597 
1598 /* Generic Error Data entry */
1599 
1601 {
1610 
1612 
1613 /* Extension for revision 0x0300 */
1614 
1616 {
1626 
1628 
1629 /* Values for ErrorSeverity above */
1630 
1631 #define ACPI_HEST_GEN_ERROR_RECOVERABLE 0
1632 #define ACPI_HEST_GEN_ERROR_FATAL 1
1633 #define ACPI_HEST_GEN_ERROR_CORRECTED 2
1634 #define ACPI_HEST_GEN_ERROR_NONE 3
1635 
1636 /* Flags for ValidationBits above */
1637 
1638 #define ACPI_HEST_GEN_VALID_FRU_ID (1)
1639 #define ACPI_HEST_GEN_VALID_FRU_STRING (1<<1)
1640 #define ACPI_HEST_GEN_VALID_TIMESTAMP (1<<2)
1641 
1642 
1643 /* 11: IA32 Deferred Machine Check Exception (ACPI 6.2) */
1644 
1646 {
1649  UINT8 Flags; /* See flags ACPI_HEST_GLOBAL, etc. above */
1656 
1658 
1659 
1660 /*******************************************************************************
1661  *
1662  * HMAT - Heterogeneous Memory Attributes Table (ACPI 6.2)
1663  * Version 1
1664  *
1665  ******************************************************************************/
1666 
1667 typedef struct acpi_table_hmat
1668 {
1669  ACPI_TABLE_HEADER Header; /* Common ACPI table header */
1671 
1672 } ACPI_TABLE_HMAT;
1673 
1674 
1675 /* Values for HMAT structure types */
1676 
1678 {
1679  ACPI_HMAT_TYPE_ADDRESS_RANGE = 0, /* Memory subsystem address range */
1680  ACPI_HMAT_TYPE_LOCALITY = 1, /* System locality latency and bandwidth information */
1681  ACPI_HMAT_TYPE_CACHE = 2, /* Memory side cache information */
1682  ACPI_HMAT_TYPE_RESERVED = 3 /* 3 and greater are reserved */
1683 };
1684 
1685 typedef struct acpi_hmat_structure
1686 {
1690 
1692 
1693 
1694 /*
1695  * HMAT Structures, correspond to Type in ACPI_HMAT_STRUCTURE
1696  */
1697 
1698 /* 0: Memory proximity domain attributes */
1699 
1701 {
1705  UINT32 ProcessorPD; /* Processor proximity domain */
1706  UINT32 MemoryPD; /* Memory proximity domain */
1710 
1712 
1713 /* Masks for Flags field above */
1714 
1715 #define ACPI_HMAT_PROCESSOR_PD_VALID (1) /* 1: ProcessorPD field is valid */
1716 #define ACPI_HMAT_MEMORY_PD_VALID (1<<1) /* 1: MemoryPD field is valid */
1717 #define ACPI_HMAT_RESERVATION_HINT (1<<2) /* 1: Reservation hint */
1718 
1719 
1720 /* 1: System locality latency and bandwidth information */
1721 
1722 typedef struct acpi_hmat_locality
1723 {
1732 
1734 
1735 /* Masks for Flags field above */
1736 
1737 #define ACPI_HMAT_MEMORY_HIERARCHY (0x0F)
1738 
1739 /* Values for Memory Hierarchy flag */
1740 
1741 #define ACPI_HMAT_MEMORY 0
1742 #define ACPI_HMAT_LAST_LEVEL_CACHE 1
1743 #define ACPI_HMAT_1ST_LEVEL_CACHE 2
1744 #define ACPI_HMAT_2ND_LEVEL_CACHE 3
1745 #define ACPI_HMAT_3RD_LEVEL_CACHE 4
1746 
1747 /* Values for DataType field above */
1748 
1749 #define ACPI_HMAT_ACCESS_LATENCY 0
1750 #define ACPI_HMAT_READ_LATENCY 1
1751 #define ACPI_HMAT_WRITE_LATENCY 2
1752 #define ACPI_HMAT_ACCESS_BANDWIDTH 3
1753 #define ACPI_HMAT_READ_BANDWIDTH 4
1754 #define ACPI_HMAT_WRITE_BANDWIDTH 5
1755 
1756 
1757 /* 2: Memory side cache information */
1758 
1759 typedef struct acpi_hmat_cache
1760 {
1768 
1769 } ACPI_HMAT_CACHE;
1770 
1771 /* Masks for CacheAttributes field above */
1772 
1773 #define ACPI_HMAT_TOTAL_CACHE_LEVEL (0x0000000F)
1774 #define ACPI_HMAT_CACHE_LEVEL (0x000000F0)
1775 #define ACPI_HMAT_CACHE_ASSOCIATIVITY (0x00000F00)
1776 #define ACPI_HMAT_WRITE_POLICY (0x0000F000)
1777 #define ACPI_HMAT_CACHE_LINE_SIZE (0xFFFF0000)
1778 
1779 /* Values for cache associativity flag */
1780 
1781 #define ACPI_HMAT_CA_NONE (0)
1782 #define ACPI_HMAT_CA_DIRECT_MAPPED (1)
1783 #define ACPI_HMAT_CA_COMPLEX_CACHE_INDEXING (2)
1784 
1785 /* Values for write policy flag */
1786 
1787 #define ACPI_HMAT_CP_NONE (0)
1788 #define ACPI_HMAT_CP_WB (1)
1789 #define ACPI_HMAT_CP_WT (2)
1790 
1791 
1792 /*******************************************************************************
1793  *
1794  * HPET - High Precision Event Timer table
1795  * Version 1
1796  *
1797  * Conforms to "IA-PC HPET (High Precision Event Timers) Specification",
1798  * Version 1.0a, October 2004
1799  *
1800  ******************************************************************************/
1801 
1802 typedef struct acpi_table_hpet
1803 {
1804  ACPI_TABLE_HEADER Header; /* Common ACPI table header */
1805  UINT32 Id; /* Hardware ID of event timer block */
1806  ACPI_GENERIC_ADDRESS Address; /* Address of event timer block */
1807  UINT8 Sequence; /* HPET sequence number */
1808  UINT16 MinimumTick; /* Main counter min tick, periodic mode */
1810 
1811 } ACPI_TABLE_HPET;
1812 
1813 /* Masks for Flags field above */
1814 
1815 #define ACPI_HPET_PAGE_PROTECT_MASK (3)
1816 
1817 /* Values for Page Protect flags */
1818 
1820 {
1824 };
1825 
1826 
1827 /*******************************************************************************
1828  *
1829  * IBFT - Boot Firmware Table
1830  * Version 1
1831  *
1832  * Conforms to "iSCSI Boot Firmware Table (iBFT) as Defined in ACPI 3.0b
1833  * Specification", Version 1.01, March 1, 2007
1834  *
1835  * Note: It appears that this table is not intended to appear in the RSDT/XSDT.
1836  * Therefore, it is not currently supported by the disassembler.
1837  *
1838  ******************************************************************************/
1839 
1840 typedef struct acpi_table_ibft
1841 {
1842  ACPI_TABLE_HEADER Header; /* Common ACPI table header */
1844 
1845 } ACPI_TABLE_IBFT;
1846 
1847 
1848 /* IBFT common subtable header */
1849 
1850 typedef struct acpi_ibft_header
1851 {
1857 
1859 
1860 /* Values for Type field above */
1861 
1863 {
1870  ACPI_IBFT_TYPE_RESERVED = 6 /* 6 and greater are reserved */
1871 };
1872 
1873 
1874 /* IBFT subtables */
1875 
1876 typedef struct acpi_ibft_control
1877 {
1885 
1887 
1888 typedef struct acpi_ibft_initiator
1889 {
1897 
1899 
1900 typedef struct acpi_ibft_nic
1901 {
1915 
1916 } ACPI_IBFT_NIC;
1917 
1918 typedef struct acpi_ibft_target
1919 {
1936 
1938 
1939 
1940 /* Reset to default packing */
1941 
1942 #pragma pack()
1943 
1944 #endif /* __ACTBL1_H__ */
struct acpi_einj_entry ACPI_EINJ_ENTRY
UINT32 RecordsToPreallocate
Definition: actbl1.h:1564
UINT64 CounterBlockAddresss
Definition: actbl1.h:1192
UINT8 Reserved
Definition: actbl1.h:715
ACPI_GTDT_HEADER Header
Definition: actbl1.h:1246
UINT64 ValidatedTables[1]
Definition: actbl1.h:785
UINT32 VirtualTimerInterrupt
Definition: actbl1.h:1198
UINT32 UncorrectableMask2
Definition: actbl1.h:1531
UINT64 CounterReadBlockAddress
Definition: actbl1.h:1202
struct acpi_hest_ia_corrected ACPI_HEST_IA_CORRECTED
UINT8 Sequence
Definition: actbl1.h:1807
UINT32 NonSecureEl2Flags
Definition: actbl1.h:1201
UINT32 ErrorThresholdValue
Definition: actbl1.h:1416
UINT32 UncorrectableSeverity
Definition: actbl1.h:1384
struct acpi_hest_generic_data ACPI_HEST_GENERIC_DATA
char DeviceName[1]
Definition: actbl1.h:744
AcpiHmatType
Definition: actbl1.h:1677
UINT16 Signature
Definition: actbl1.h:1058
ACPI_HEST_AER_COMMON Aer
Definition: actbl1.h:1530
UINT8 Flags
Definition: actbl1.h:604
UINT16 PciAddress
Definition: actbl1.h:1912
UINT8 DataLength
Definition: actbl1.h:221
ACPI_TABLE_HEADER Header
Definition: actbl1.h:1842
ACPI_HMAT_STRUCTURE Header
Definition: actbl1.h:1724
UINT8 Controls
Definition: actbl1.h:248
UINT32 VirtualEL2TimerFlags
Definition: actbl1.h:1217
UINT32 RootErrorCommand
Definition: actbl1.h:1510
UINT16 Length
Definition: actbl1.h:1226
ACPI_DMAR_HEADER Header
Definition: actbl1.h:679
struct acpi_cpep_polling ACPI_CPEP_POLLING
AcpiS3ptType
Definition: actbl1.h:1141
UINT8 MacAddress[6]
Definition: actbl1.h:1911
UINT32 PollingThresholdValue
Definition: actbl1.h:1414
UINT32 ImageOffsetY
Definition: actbl1.h:359
UINT16 DeviceId
Definition: actbl1.h:915
UINT8 MinResetValue
Definition: actbl1.h:199
UINT16 PortSubtype
Definition: actbl1.h:535
ACPI_GENERIC_ADDRESS ErrorStatusAddress
Definition: actbl1.h:1549
UINT8 ImageType
Definition: actbl1.h:356
UINT16 RelatedSourceId
Definition: actbl1.h:1543
struct acpi_dmar_header ACPI_DMAR_HEADER
UINT16 Nic1Offset
Definition: actbl1.h:1883
ACPI_HEST_NOTIFY Notify
Definition: actbl1.h:1568
UINT64 LogAreaAddress
Definition: actbl1.h:765
UINT16 Reserved2
Definition: actbl1.h:1766
UINT32 ErrorBlockLength
Definition: actbl1.h:1569
ACPI_TABLE_HEADER Header
Definition: actbl1.h:970
UINT8 RevisionId
Definition: actbl1.h:916
UINT32 RawDataLength
Definition: actbl1.h:313
struct acpi_table_cpep ACPI_TABLE_CPEP
struct acpi_table_gtdt ACPI_TABLE_GTDT
UINT32 VirtualTimerFlags
Definition: actbl1.h:1199
ACPI_HEST_NOTIFY Notify
Definition: actbl1.h:1482
UINT16 ReverseChapNameOffset
Definition: actbl1.h:1933
ACPI_TABLE_HEADER Header
Definition: actbl1.h:1191
AcpiErstInstructions
Definition: actbl1.h:1016
UINT32 CorrectableMask
Definition: actbl1.h:1385
UINT32 VirtualTimerFlags
Definition: actbl1.h:1265
ACPI_TABLE_HEADER Header
Definition: actbl1.h:759
UINT32 Reserved
Definition: actbl1.h:730
struct acpi_hmat_proximity_domain ACPI_HMAT_PROXIMITY_DOMAIN
struct acpi_asf_address ACPI_ASF_ADDRESS
UINT32 Length
Definition: actbl1.h:1130
UINT8 PrimaryServer[16]
Definition: actbl1.h:1893
UINT16 Length
Definition: actbl1.h:173
UINT64 EntryBaseAddress
Definition: actbl1.h:760
UINT32 TimerInterrupt
Definition: actbl1.h:1262
struct acpi_asf_alert_data ACPI_ASF_ALERT_DATA
UINT16 NameLength
Definition: actbl1.h:1913
ACPI_ASF_HEADER Header
Definition: actbl1.h:217
UINT16 Reserved1
Definition: actbl1.h:1727
UINT8 IpAddress[16]
Definition: actbl1.h:1903
UINT32 NumberOfTargetPDs
Definition: actbl1.h:1729
UINT16 ChapSecretLength
Definition: actbl1.h:1930
UINT8 AssertMask
Definition: actbl1.h:218
UINT32 MaxSectionsPerRecord
Definition: actbl1.h:1481
UINT32 SecureEl1Flags
Definition: actbl1.h:1195
ACPI_GENERIC_ADDRESS ErrorStatusAddress
Definition: actbl1.h:1567
struct acpi_hest_generic ACPI_HEST_GENERIC
struct acpi_csrt_group ACPI_CSRT_GROUP
UINT8 Flags
Definition: actbl1.h:203
UINT8 MinPollInterval
Definition: actbl1.h:200
UINT16 ReverseChapSecretLength
Definition: actbl1.h:1934
UINT64 ExitServicesEntry
Definition: actbl1.h:1176
UINT8 Type
Definition: actbl1.h:171
struct acpi_drtm_resource ACPI_DRTM_RESOURCE
UINT32 MaxSectionsPerRecord
Definition: actbl1.h:1547
struct acpi_dmar_rhsa ACPI_DMAR_RHSA
UINT16 ChapSecretOffset
Definition: actbl1.h:1931
AcpiErstActions
Definition: actbl1.h:992
ACPI_IBFT_HEADER Header
Definition: actbl1.h:1920
struct acpi_hest_aer_bridge ACPI_HEST_AER_BRIDGE
UINT32 UncorrectableSeverity2
Definition: actbl1.h:1532
UINT32 VendorId
Definition: actbl1.h:435
UINT32 PollInterval
Definition: actbl1.h:1412
UINT32 RecordsToPreallocate
Definition: actbl1.h:1546
struct acpi_dmar_pci_path ACPI_DMAR_PCI_PATH
ACPI_FPDT_HEADER Header
Definition: actbl1.h:1150
UINT8 SlpServer[16]
Definition: actbl1.h:1892
struct acpi_hest_header ACPI_HEST_HEADER
struct acpi_ibft_control ACPI_IBFT_CONTROL
struct acpi_ibft_initiator ACPI_IBFT_INITIATOR
AcpiIbftType
Definition: actbl1.h:1862
ACPI_FPDT_HEADER Header
Definition: actbl1.h:1171
UINT32 DataLength
Definition: actbl1.h:314
UINT8 Revision
Definition: actbl1.h:527
struct acpi_erst_info ACPI_ERST_INFO
UINT8 Type
Definition: actbl1.h:583
UINT16 Length
Definition: actbl1.h:1854
ACPI_HMAT_STRUCTURE Header
Definition: actbl1.h:1702
UINT64 ReadAckPreserve
Definition: actbl1.h:1571
UINT8 Flags
Definition: actbl1.h:714
UINT16 Revision
Definition: actbl1.h:439
struct acpi_hest_aer_common ACPI_HEST_AER_COMMON
UINT16 TargetNameLength
Definition: actbl1.h:1926
struct acpi_gtdt_header ACPI_GTDT_HEADER
UINT64 Address
Definition: actbl1.h:302
UINT16 Reserved
Definition: actbl1.h:536
UINT32 NonSecureEl2Interrupt
Definition: actbl1.h:1200
UINT32 Uid
Definition: actbl1.h:830
struct acpi_hmat_locality ACPI_HMAT_LOCALITY
UINT16 Target0Offset
Definition: actbl1.h:1882
UINT32 PlatformTimerOffset
Definition: actbl1.h:1204
struct acpi_hest_ia_machine_check ACPI_HEST_IA_MACHINE_CHECK
UINT32 RecordsToPreallocate
Definition: actbl1.h:1480
struct acpi_hest_ia_error_bank ACPI_HEST_IA_ERROR_BANK
UINT32 Revision
Definition: actbl1.h:927
UINT32 Interval
Definition: actbl1.h:409
UINT32 CacheAttributes
Definition: actbl1.h:1765
struct acpi_hest_generic_data_v300 ACPI_HEST_GENERIC_DATA_V300
UINT32 RawDataOffset
Definition: actbl1.h:312
ACPI_IBFT_HEADER Header
Definition: actbl1.h:1902
UINT32 BlockStatus
Definition: actbl1.h:311
UINT8 FrameNumber
Definition: actbl1.h:1258
UINT8 TargetIpAddress[16]
Definition: actbl1.h:1921
ACPI_TABLE_HEADER Header
Definition: actbl1.h:353
UINT8 PrimaryDns[16]
Definition: actbl1.h:1907
UINT32 Reserved1
Definition: actbl1.h:1763
UINT32 InfoCount
Definition: actbl1.h:510
UINT32 HeaderSize
Definition: actbl1.h:926
struct acpi_asf_remote ACPI_ASF_REMOTE
UINT32 NonSecureEl1Interrupt
Definition: actbl1.h:1196
ACPI_HEST_HEADER Header
Definition: actbl1.h:1493
struct acpi_hest_notify ACPI_HEST_NOTIFY
ACPI_TABLE_HEADER Header
Definition: actbl1.h:846
struct acpi_ibft_target ACPI_IBFT_TARGET
UINT32 DpsIdLength
Definition: actbl1.h:812
AcpiEinjCommandStatus
Definition: actbl1.h:935
unsigned int UINT32
struct acpi_table_s3pt ACPI_TABLE_S3PT
AcpiHpetPageProtect
Definition: actbl1.h:1819
UINT64 EntryLength
Definition: actbl1.h:761
UINT8 Instruction
Definition: actbl1.h:141
ACPI_TABLE_HEADER Header
Definition: actbl1.h:1804
UINT32 TimerFlags
Definition: actbl1.h:1290
ACPI_TABLE_HEADER Header
Definition: actbl1.h:602
UINT64 SuspendStart
Definition: actbl1.h:1160
ACPI_GENERIC_ADDRESS ReadAckRegister
Definition: actbl1.h:1570
UINT64 StartupStart
Definition: actbl1.h:1175
UINT32 MaxRawDataLength
Definition: actbl1.h:1497
UINT16 RelatedSourceId
Definition: actbl1.h:1561
UINT8 CompletionCode
Definition: actbl1.h:270
ACPI_HEST_HEADER Header
Definition: actbl1.h:1560
UINT16 Parameter
Definition: actbl1.h:273
UINT8 EpromAddress
Definition: actbl1.h:285
struct acpi_einj_trigger ACPI_EINJ_TRIGGER
UINT32 ImageOffsetX
Definition: actbl1.h:358
UINT32 Reserved
Definition: actbl1.h:1670
UINT16 Segment
Definition: actbl1.h:716
struct acpi_bert_region ACPI_BERT_REGION
UINT16 Length
Definition: actbl1.h:621
ACPI_TABLE_HEADER Header
Definition: actbl1.h:582
UINT16 Reserved
Definition: actbl1.h:440
ACPI_GENERIC_ADDRESS Control
Definition: actbl1.h:828
struct acpi_table_bgrt ACPI_TABLE_BGRT
UINT16 ReverseChapSecretOffset
Definition: actbl1.h:1935
ACPI_SUBTABLE_HEADER Header
Definition: actbl1.h:406
ACPI_TABLE_HEADER Header
Definition: actbl1.h:1073
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
UINT8 TargetBootLun[8]
Definition: actbl1.h:1923
UINT64 RefreshFrameAddress
Definition: actbl1.h:1287
UINT32 MaxSectionsPerRecord
Definition: actbl1.h:1377
UINT64 AverageResume
Definition: actbl1.h:1153
UINT64 Reserved
Definition: actbl1.h:397
struct acpi_asf_info ACPI_ASF_INFO
struct acpi_drtm_resource_list ACPI_DRTM_RESOURCE_LIST
struct acpi_s3pt_resume ACPI_S3PT_RESUME
AcpiBertErrorSeverity
Definition: actbl1.h:329
ACPI_DMAR_HEADER Header
Definition: actbl1.h:696
UINT64 ResetEnd
Definition: actbl1.h:1173
ACPI_GTDT_HEADER Header
Definition: actbl1.h:1285
UINT8 CmosIndex
Definition: actbl1.h:381
UINT16 SubdeviceId
Definition: actbl1.h:438
UINT32 PlatformTimerCount
Definition: actbl1.h:1203
UINT8 Alerts
Definition: actbl1.h:220
UINT8 Dhcp[16]
Definition: actbl1.h:1909
struct acpi_table_hpet ACPI_TABLE_HPET
UINT32 Vector
Definition: actbl1.h:1413
UINT16 NumberOfSMBIOSHandles
Definition: actbl1.h:1767
UINT32 ProximityDomain
Definition: actbl1.h:732
UINT16 BaseRequestLine
Definition: actbl1.h:460
UINT16 DeviceControl
Definition: actbl1.h:1381
UINT16 InitiatorOffset
Definition: actbl1.h:1880
UINT8 Capabilities[7]
Definition: actbl1.h:269
struct acpi_hest_generic_status ACPI_HEST_GENERIC_STATUS
UINT8 SecondaryServer[16]
Definition: actbl1.h:1894
UINT32 Reserved
Definition: actbl1.h:1494
UINT32 Length
Definition: actbl1.h:912
ACPI_FPDT_HEADER Header
Definition: actbl1.h:1159
UINT8 SectionType[16]
Definition: actbl1.h:1602
UINT8 InterruptPolarity
Definition: actbl1.h:456
UINT32 VirtualEL2TimerGsiv
Definition: actbl1.h:1216
ACPI_ASF_HEADER Header
Definition: actbl1.h:284
struct acpi_fpdt_boot_pointer ACPI_FPDT_BOOT_POINTER
ACPI_GENERIC_ADDRESS RegisterRegion
Definition: actbl1.h:144
UINT8 SecondaryDns[16]
Definition: actbl1.h:1908
UINT32 Entries
Definition: actbl1.h:973
UINT8 Reserved2[3]
Definition: actbl1.h:204
ACPI_HEST_NOTIFY Notify
Definition: actbl1.h:1550
UINT32 ValidatedTableCount
Definition: actbl1.h:784
UINT64 BaseAddress
Definition: actbl1.h:731
struct acpi_table_drtm ACPI_TABLE_DRTM
ACPI_TABLE_HEADER Header
Definition: actbl1.h:827
UINT32 NonSecureEl1Flags
Definition: actbl1.h:1197
struct acpi_table_hest ACPI_TABLE_HEST
struct acpi_table_einj ACPI_TABLE_EINJ
UINT16 MinimumTick
Definition: actbl1.h:1808
UINT8 RegisterCount
Definition: actbl1.h:529
struct acpi_gtdt_timer_entry ACPI_GTDT_TIMER_ENTRY
UINT8 NicAssociation
Definition: actbl1.h:1925
UINT64 ImageAddress
Definition: actbl1.h:357
Definition: actbl1.h:980
ACPI_TABLE_HEADER Header
Definition: actbl1.h:508
UINT32 EntryAddress32
Definition: actbl1.h:762
ACPI_HEST_HEADER Header
Definition: actbl1.h:1647
UINT32 Length
Definition: actbl1.h:434
UINT32 TableSize
Definition: actbl1.h:928
UINT32 HeaderLength
Definition: actbl1.h:971
ACPI_TABLE_HEADER Header
Definition: actbl1.h:396
UINT8 DeviceNumber
Definition: actbl1.h:743
UINT8 DeassertMask
Definition: actbl1.h:219
ACPI_HEST_AER_COMMON Aer
Definition: actbl1.h:1509
ACPI_GENERIC_ADDRESS Address
Definition: actbl1.h:1806
UINT8 SensorNumber
Definition: actbl1.h:236
struct acpi_csrt_descriptor ACPI_CSRT_DESCRIPTOR
struct acpi_asf_header ACPI_ASF_HEADER
UINT16 AddressSizeOffset
Definition: actbl1.h:538
UINT64 FullResume
Definition: actbl1.h:1152
struct acpi_fpdt_boot ACPI_FPDT_BOOT
UINT32 ResumeCount
Definition: actbl1.h:1151
UINT8 Id[1]
Definition: actbl1.h:832
UINT64 ExitServicesExit
Definition: actbl1.h:1177
UINT16 ChapNameLength
Definition: actbl1.h:1928
UINT16 BootOptions
Definition: actbl1.h:274
struct acpi_gtdt_timer_block ACPI_GTDT_TIMER_BLOCK
UINT8 Gateway[16]
Definition: actbl1.h:1906
ACPI_HEST_HEADER Header
Definition: actbl1.h:1529
UINT8 Signature[4]
Definition: actbl1.h:1129
AcpiDmarScopeType
Definition: actbl1.h:652
AcpiHestNotifyTypes
Definition: actbl1.h:1423
UINT8 SnsServer[16]
Definition: actbl1.h:1891
UINT32 SubvendorId
Definition: actbl1.h:436
ACPI_TABLE_HEADER Header
Definition: actbl1.h:380
UINT16 Reserved2
Definition: actbl1.h:250
struct acpi_table_hmat ACPI_TABLE_HMAT
UINT8 SubnetMaskPrefix
Definition: actbl1.h:1904
ACPI_GENERIC_ADDRESS Data
Definition: actbl1.h:829
UINT64 ArchDependentAddress
Definition: actbl1.h:767
UINT32 Reserved
Definition: actbl1.h:972
UINT32 CommonFlags
Definition: actbl1.h:1266
UINT8 ChapType
Definition: actbl1.h:1924
struct acpi_hest_aer ACPI_HEST_AER
UINT32 MemoryPD
Definition: actbl1.h:1762
struct acpi_subtable_header ACPI_SUBTABLE_HEADER
ACPI_HEST_HEADER Header
Definition: actbl1.h:1519
struct acpi_dmar_reserved_memory ACPI_DMAR_RESERVED_MEMORY
Definition: actbl1.h:1256
struct acpi_table_erst ACPI_TABLE_ERST
struct acpi_table_boot ACPI_TABLE_BOOT
UINT32 MfgId
Definition: actbl1.h:202
struct acpi_dmar_device_scope ACPI_DMAR_DEVICE_SCOPE
UINT32 MaxRawDataLength
Definition: actbl1.h:1566
struct acpi_hmat_cache ACPI_HMAT_CACHE
struct acpi_hest_aer_root ACPI_HEST_AER_ROOT
UINT16 Type
Definition: actbl1.h:620
struct acpi_fpdt_s3pt_pointer ACPI_FPDT_S3PT_POINTER
IN PVOID IN PVOID IN USHORT IN USHORT Size
Definition: pci.h:361
struct acpi_s3pt_suspend ACPI_S3PT_SUSPEND
AcpiErstCommandStatus
Definition: actbl1.h:1042
struct acpi_table_bert ACPI_TABLE_BERT
ACPI_HEST_NOTIFY Notify
Definition: actbl1.h:1653
UINT32 Reserved
Definition: actbl1.h:1193
struct acpi_table_dmar ACPI_TABLE_DMAR
struct acpi_table_dbg2 ACPI_TABLE_DBG2
UINT64 EntryAddress64
Definition: actbl1.h:763
UINT64 ControlFrameAddress
Definition: actbl1.h:1288
UINT32 Reserved2
Definition: actbl1.h:1730
AcpiEinjInstructions
Definition: actbl1.h:887
UINT64 Address
Definition: actbl1.h:797
struct acpi_table_ibft ACPI_TABLE_IBFT
UINT16 ConfigWriteEnable
Definition: actbl1.h:1411
UINT16 PortType
Definition: actbl1.h:534
UINT16 SystemId
Definition: actbl1.h:201
ACPI_TABLE_HEADER Header
Definition: actbl1.h:1310
UINT32 TimerInterrupt
Definition: actbl1.h:1289
AcpiHestTypes
Definition: actbl1.h:1328
AcpiFpdtType
Definition: actbl1.h:1090
ACPI_ASF_HEADER Header
Definition: actbl1.h:247
UINT8 DataLength
Definition: actbl1.h:249
UINT16 OemDataLength
Definition: actbl1.h:532
ACPI_HEST_HEADER Header
Definition: actbl1.h:1508
UINT16 Vlan
Definition: actbl1.h:1910
UINT32 PcieId
Definition: actbl1.h:913
UINT32 ErrorBlockLength
Definition: actbl1.h:1551
UINT8 Devices
Definition: actbl1.h:286
struct acpi_hmat_structure ACPI_HMAT_STRUCTURE
UINT16 ReverseChapNameLength
Definition: actbl1.h:1932
UINT64 El0BaseAddress
Definition: actbl1.h:1261
UINT32 MaxSectionsPerRecord
Definition: actbl1.h:1565
UINT64 Mask
Definition: actbl1.h:146
UINT32 PollingThresholdWindow
Definition: actbl1.h:1415
struct acpi_gtdt_watchdog ACPI_GTDT_WATCHDOG
UINT64 EntryBaseUnit
Definition: actbl1.h:1731
UINT32 LogAreaLength
Definition: actbl1.h:766
ACPI_DMAR_HEADER Header
Definition: actbl1.h:729
UINT16 Nic0Offset
Definition: actbl1.h:1881
UINT32 MaxSectionsPerRecord
Definition: actbl1.h:1496
ACPI_IBFT_HEADER Header
Definition: actbl1.h:1890
ACPI_TABLE_HEADER Header
Definition: actbl1.h:162
struct acpi_whea_header ACPI_WHEA_HEADER
UINT32 VirtualTimerInterrupt
Definition: actbl1.h:1264
UINT16 OemDataOffset
Definition: actbl1.h:533
struct acpi_table_ecdt ACPI_TABLE_ECDT
UINT64 SuspendEnd
Definition: actbl1.h:1161
UINT16 DeviceId
Definition: actbl1.h:437
UINT32 RecordsToPreallocate
Definition: actbl1.h:1376
UINT32 ErrorSeverity
Definition: actbl1.h:315
UINT16 NamepathLength
Definition: actbl1.h:530
UINT8 Status
Definition: actbl1.h:355
struct acpi_dmar_andd ACPI_DMAR_ANDD
UINT16 TargetIpSocket
Definition: actbl1.h:1922
UINT32 Entries
Definition: actbl1.h:850
unsigned short UINT16
UINT64 CacheSize
Definition: actbl1.h:1764
UINT32 InfoOffset
Definition: actbl1.h:509
struct acpi_gtdt_el2 ACPI_GTDT_EL2
struct acpi_asf_alert ACPI_ASF_ALERT
struct acpi_table_asf ACPI_TABLE_ASF
struct acpi_einj_error_type_with_addr ACPI_EINJ_ERROR_TYPE_WITH_ADDR
struct acpi_ibft_nic ACPI_IBFT_NIC
struct acpi_erst_entry ACPI_ERST_ENTRY
UINT16 Version
Definition: actbl1.h:354
struct acpi_drtm_vtable_list ACPI_DRTM_VTABLE_LIST
UINT32 InfoCount
Definition: actbl1.h:518
UINT8 Command
Definition: actbl1.h:272
ACPI_TABLE_HEADER Header
Definition: actbl1.h:425
UINT32 AdvancedCapabilities
Definition: actbl1.h:1386
AcpiGtdtType
Definition: actbl1.h:1232
ACPI_FPDT_HEADER Header
Definition: actbl1.h:1116
UINT16 OemParameters
Definition: actbl1.h:275
Definition: actbl1.h:857
ACPI_HEST_HEADER Header
Definition: actbl1.h:1476
UINT16 Length
Definition: actbl1.h:528
ACPI_GENERIC_ADDRESS DebugPort
Definition: actbl1.h:585
struct acpi_asf_control_data ACPI_ASF_CONTROL_DATA
AcpiEinjActions
Definition: actbl1.h:869
UINT16 ChapNameOffset
Definition: actbl1.h:1929
UINT16 Target1Offset
Definition: actbl1.h:1884
AcpiDmarType
Definition: actbl1.h:627
ACPI_HMAT_STRUCTURE Header
Definition: actbl1.h:1761
UINT8 Action
Definition: actbl1.h:140
struct acpi_hest_ia_deferred_check ACPI_HEST_IA_DEFERRED_CHECK
UINT32 TimerFlags
Definition: actbl1.h:1263
UINT8 Reserved
Definition: actbl1.h:143
UINT16 VendorId
Definition: actbl1.h:914
UINT64 LoadStart
Definition: actbl1.h:1174
UINT32 EntryCount
Definition: actbl1.h:929
UINT8 Width
Definition: actbl1.h:603
struct acpi_dmar_hardware_unit ACPI_DMAR_HARDWARE_UNIT
struct acpi_table_fpdt ACPI_TABLE_FPDT
UINT32 ErrorThresholdWindow
Definition: actbl1.h:1417
struct acpi_hest_ia_nmi ACPI_HEST_IA_NMI
UINT8 Origin
Definition: actbl1.h:1905
UINT16 NamepathOffset
Definition: actbl1.h:531
UINT8 Reserved
Definition: actbl1.h:172
UINT32 UncorrectableMask
Definition: actbl1.h:1383
ACPI_DMAR_HEADER Header
Definition: actbl1.h:713
UINT64 ExitAddress
Definition: actbl1.h:764
UINT32 Flags
Definition: actbl1.h:768
AcpiAsfType
Definition: actbl1.h:180
UINT64 BaseAddress
Definition: actbl1.h:1260
UINT32 NumberOfInitiatorPDs
Definition: actbl1.h:1728
struct acpi_fpdt_header ACPI_FPDT_HEADER
struct acpi_ibft_header ACPI_IBFT_HEADER
unsigned long long UINT64
UINT8 DpsId[16]
Definition: actbl1.h:813
struct acpi_einj_vendor ACPI_EINJ_VENDOR
struct acpi_drtm_dps_id ACPI_DRTM_DPS_ID
UINT32 SecureEl1Interrupt
Definition: actbl1.h:1194
ACPI_DMAR_HEADER Header
Definition: actbl1.h:741
UINT32 RecordsToPreallocate
Definition: actbl1.h:1495
ACPI_WHEA_HEADER WheaHeader
Definition: actbl1.h:859
UINT32 EnterpriseId
Definition: actbl1.h:271
UINT32 InfoOffset
Definition: actbl1.h:517
unsigned char UINT8
ACPI_FPDT_HEADER Header
Definition: actbl1.h:1105
struct acpi_hest_generic_v2 ACPI_HEST_GENERIC_V2
ACPI_TABLE_HEADER Header
Definition: actbl1.h:300
ACPI_HEST_HEADER Header
Definition: actbl1.h:1542
struct acpi_dmar_atsr ACPI_DMAR_ATSR
struct acpi_dbg2_header ACPI_DBG2_HEADER
ACPI_HEST_AER_COMMON Aer
Definition: actbl1.h:1520
ACPI_TABLE_HEADER Header
Definition: actbl1.h:1669
UINT64 Value
Definition: actbl1.h:145
UINT16 NameOffset
Definition: actbl1.h:1914
UINT16 SourceId
Definition: actbl1.h:1321
UINT32 SharedInfoLength
Definition: actbl1.h:441
UINT8 Flags
Definition: actbl1.h:848
UINT32 AdvancedCapabilities2
Definition: actbl1.h:1533
ACPI_ASF_HEADER Header
Definition: actbl1.h:198
struct acpi_dbg2_device ACPI_DBG2_DEVICE
UINT16 BaseAddressOffset
Definition: actbl1.h:537
ACPI_WHEA_HEADER WheaHeader
Definition: actbl1.h:982
UINT16 Extensions
Definition: actbl1.h:1879
UINT16 TargetNameOffset
Definition: actbl1.h:1927
struct acpi_asf_rmcp ACPI_ASF_RMCP
UINT32 HeaderLength
Definition: actbl1.h:847
ACPI_HEST_HEADER Header
Definition: actbl1.h:1458
struct acpi_table_csrt ACPI_TABLE_CSRT
UINT32 ErrorSourceCount
Definition: actbl1.h:1311
UINT32 RegionLength
Definition: actbl1.h:301
struct acpi_table_dbgp ACPI_TABLE_DBGP
struct acpi_csrt_shared_info ACPI_CSRT_SHARED_INFO
UINT8 Revision
Definition: actbl1.h:1084
UINT16 NumHandshakeSignals
Definition: actbl1.h:461
ACPI_IBFT_HEADER Header
Definition: actbl1.h:1878
UINT32 MaxRawDataLength
Definition: actbl1.h:1548
ACPI_ASF_HEADER Header
Definition: actbl1.h:268