1 /******************************************************************************
3 * Name: actbl3.h - ACPI Table Definitions
5 *****************************************************************************/
7 /******************************************************************************
11 * Some or all of this work - Copyright (c) 1999 - 2015, Intel Corp.
12 * All rights reserved.
16 * 2.1. This is your license from Intel Corp. under its intellectual property
17 * rights. You may have additional license terms from the party that provided
18 * you this software, covering your right to use that party's intellectual
21 * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
22 * copy of the source code appearing in this file ("Covered Code") an
23 * irrevocable, perpetual, worldwide license under Intel's copyrights in the
24 * base code distributed originally by Intel ("Original Intel Code") to copy,
25 * make derivatives, distribute, use and display any portion of the Covered
26 * Code in any form, with the right to sublicense such rights; and
28 * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
29 * license (with the right to sublicense), under only those claims of Intel
30 * patents that are infringed by the Original Intel Code, to make, use, sell,
31 * offer to sell, and import the Covered Code and derivative works thereof
32 * solely to the minimum extent necessary to exercise the above copyright
33 * license, and in no event shall the patent license extend to any additions
34 * to or modifications of the Original Intel Code. No other license or right
35 * is granted directly or by implication, estoppel or otherwise;
37 * The above copyright and patent license is granted only if the following
42 * 3.1. Redistribution of Source with Rights to Further Distribute Source.
43 * Redistribution of source code of any substantial portion of the Covered
44 * Code or modification with rights to further distribute source must include
45 * the above Copyright Notice, the above License, this list of Conditions,
46 * and the following Disclaimer and Export Compliance provision. In addition,
47 * Licensee must cause all Covered Code to which Licensee contributes to
48 * contain a file documenting the changes Licensee made to create that Covered
49 * Code and the date of any change. Licensee must include in that file the
50 * documentation of any changes made by any predecessor Licensee. Licensee
51 * must include a prominent statement that the modification is derived,
52 * directly or indirectly, from Original Intel Code.
54 * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
55 * Redistribution of source code of any substantial portion of the Covered
56 * Code or modification without rights to further distribute source must
57 * include the following Disclaimer and Export Compliance provision in the
58 * documentation and/or other materials provided with distribution. In
59 * addition, Licensee may not authorize further sublicense of source of any
60 * portion of the Covered Code, and must include terms to the effect that the
61 * license from Licensee to its licensee is limited to the intellectual
62 * property embodied in the software Licensee provides to its licensee, and
63 * not to intellectual property embodied in modifications its licensee may
66 * 3.3. Redistribution of Executable. Redistribution in executable form of any
67 * substantial portion of the Covered Code or modification must reproduce the
68 * above Copyright Notice, and the following Disclaimer and Export Compliance
69 * provision in the documentation and/or other materials provided with the
72 * 3.4. Intel retains all right, title, and interest in and to the Original
75 * 3.5. Neither the name Intel nor any other trademark owned or controlled by
76 * Intel shall be used in advertising or otherwise to promote the sale, use or
77 * other dealings in products derived from or relating to the Covered Code
78 * without prior written authorization from Intel.
80 * 4. Disclaimer and Export Compliance
82 * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
83 * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
84 * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE,
85 * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY
86 * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY
87 * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
90 * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
91 * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
92 * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
93 * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
94 * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
95 * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS
96 * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
99 * 4.3. Licensee shall not export, either directly or indirectly, any of this
100 * software or system incorporating such software without first obtaining any
101 * required license or other approval from the U. S. Department of Commerce or
102 * any other agency or department of the United States Government. In the
103 * event Licensee exports any such software from the United States or
104 * re-exports any such software from a foreign destination, Licensee shall
105 * ensure that the distribution and export/re-export of the software is in
106 * compliance with all laws, regulations, orders, or other restrictions of the
107 * U.S. Export Administration Regulations. Licensee agrees that neither it nor
108 * any of its subsidiaries will export/re-export any technical data, process,
109 * software, or service, directly or indirectly, to any country for which the
110 * United States government or any agency thereof requires an export license,
111 * other governmental approval, or letter of assurance, without first obtaining
112 * such license, approval or letter.
114 *****************************************************************************/
120 /*******************************************************************************
122 * Additional ACPI Tables (3)
124 * These tables are not consumed directly by the ACPICA subsystem, but are
125 * included here to support device drivers and the AML disassembler.
127 * In general, the tables in this file are fully defined within the ACPI
130 ******************************************************************************/
134 * Values for description table header signatures for tables defined in this
135 * file. Useful because they make it more difficult to inadvertently type in
136 * the wrong signature.
138 #define ACPI_SIG_BGRT "BGRT" /* Boot Graphics Resource Table */
139 #define ACPI_SIG_DRTM "DRTM" /* Dynamic Root of Trust for Measurement table */
140 #define ACPI_SIG_FPDT "FPDT" /* Firmware Performance Data Table */
141 #define ACPI_SIG_GTDT "GTDT" /* Generic Timer Description Table */
142 #define ACPI_SIG_MPST "MPST" /* Memory Power State Table */
143 #define ACPI_SIG_PCCT "PCCT" /* Platform Communications Channel Table */
144 #define ACPI_SIG_PMTT "PMTT" /* Platform Memory Topology Table */
145 #define ACPI_SIG_RASF "RASF" /* RAS Feature table */
146 #define ACPI_SIG_STAO "STAO" /* Status Override table */
147 #define ACPI_SIG_WPBT "WPBT" /* Windows Platform Binary Table */
148 #define ACPI_SIG_XENV "XENV" /* Xen Environment table */
150 #define ACPI_SIG_S3PT "S3PT" /* S3 Performance (sub)Table */
151 #define ACPI_SIG_PCCS "PCC" /* PCC Shared Memory Region */
153 /* Reserved table signatures */
155 #define ACPI_SIG_MATR "MATR" /* Memory Address Translation Table */
156 #define ACPI_SIG_MSDM "MSDM" /* Microsoft Data Management Table */
159 * All tables must be byte-packed to match the ACPI specification, since
160 * the tables are provided by the system BIOS.
165 * Note: C bitfields are not used for this reason:
167 * "Bitfields are great and easy to read, but unfortunately the C language
168 * does not specify the layout of bitfields in memory, which means they are
169 * essentially useless for dealing with packed data in on-disk formats or
170 * binary wire protocols." (Or ACPI tables and buffers.) "If you ask me,
171 * this decision was a design error in C. Ritchie could have picked an order
172 * and stuck with it." Norman Ramsey.
173 * See http://stackoverflow.com/a/1053662/41661
177 /*******************************************************************************
179 * BGRT - Boot Graphics Resource Table (ACPI 5.0)
182 ******************************************************************************/
184 typedef struct acpi_table_bgrt
186 ACPI_TABLE_HEADER Header
; /* Common ACPI table header */
197 /*******************************************************************************
199 * DRTM - Dynamic Root of Trust for Measurement table
200 * Conforms to "TCG D-RTM Architecture" June 17 2013, Version 1.0.0
203 ******************************************************************************/
205 typedef struct acpi_table_drtm
207 ACPI_TABLE_HEADER Header
; /* Common ACPI table header */
208 UINT64 EntryBaseAddress
;
210 UINT32 EntryAddress32
;
211 UINT64 EntryAddress64
;
213 UINT64 LogAreaAddress
;
214 UINT32 LogAreaLength
;
215 UINT64 ArchDependentAddress
;
220 /* Flag Definitions for above */
222 #define ACPI_DRTM_ACCESS_ALLOWED (1)
223 #define ACPI_DRTM_ENABLE_GAP_CODE (1<<1)
224 #define ACPI_DRTM_INCOMPLETE_MEASUREMENTS (1<<2)
225 #define ACPI_DRTM_AUTHORITY_ORDER (1<<3)
228 /* 1) Validated Tables List (64-bit addresses) */
230 typedef struct acpi_drtm_vtable_list
232 UINT32 ValidatedTableCount
;
233 UINT64 ValidatedTables
[1];
235 } ACPI_DRTM_VTABLE_LIST
;
237 /* 2) Resources List (of Resource Descriptors) */
239 /* Resource Descriptor */
241 typedef struct acpi_drtm_resource
247 } ACPI_DRTM_RESOURCE
;
249 typedef struct acpi_drtm_resource_list
251 UINT32 ResourceCount
;
252 ACPI_DRTM_RESOURCE Resources
[1];
254 } ACPI_DRTM_RESOURCE_LIST
;
256 /* 3) Platform-specific Identifiers List */
258 typedef struct acpi_drtm_dps_id
266 /*******************************************************************************
268 * FPDT - Firmware Performance Data Table (ACPI 5.0)
271 ******************************************************************************/
273 typedef struct acpi_table_fpdt
275 ACPI_TABLE_HEADER Header
; /* Common ACPI table header */
280 /* FPDT subtable header */
282 typedef struct acpi_fpdt_header
290 /* Values for Type field above */
294 ACPI_FPDT_TYPE_BOOT
= 0,
295 ACPI_FPDT_TYPE_S3PERF
= 1
303 /* 0: Firmware Basic Boot Performance Record */
305 typedef struct acpi_fpdt_boot
307 ACPI_FPDT_HEADER Header
;
312 UINT64 ExitServicesEntry
;
313 UINT64 ExitServicesExit
;
318 /* 1: S3 Performance Table Pointer Record */
320 typedef struct acpi_fpdt_s3pt_ptr
322 ACPI_FPDT_HEADER Header
;
326 } ACPI_FPDT_S3PT_PTR
;
330 * S3PT - S3 Performance Table. This table is pointed to by the
331 * FPDT S3 Pointer Record above.
333 typedef struct acpi_table_s3pt
335 UINT8 Signature
[4]; /* "S3PT" */
344 typedef struct acpi_s3pt_header
352 /* Values for Type field above */
356 ACPI_S3PT_TYPE_RESUME
= 0,
357 ACPI_S3PT_TYPE_SUSPEND
= 1
360 typedef struct acpi_s3pt_resume
362 ACPI_S3PT_HEADER Header
;
365 UINT64 AverageResume
;
369 typedef struct acpi_s3pt_suspend
371 ACPI_S3PT_HEADER Header
;
378 /*******************************************************************************
380 * GTDT - Generic Timer Description Table (ACPI 5.1)
383 ******************************************************************************/
385 typedef struct acpi_table_gtdt
387 ACPI_TABLE_HEADER Header
; /* Common ACPI table header */
388 UINT64 CounterBlockAddresss
;
390 UINT32 SecureEl1Interrupt
;
391 UINT32 SecureEl1Flags
;
392 UINT32 NonSecureEl1Interrupt
;
393 UINT32 NonSecureEl1Flags
;
394 UINT32 VirtualTimerInterrupt
;
395 UINT32 VirtualTimerFlags
;
396 UINT32 NonSecureEl2Interrupt
;
397 UINT32 NonSecureEl2Flags
;
398 UINT64 CounterReadBlockAddress
;
399 UINT32 PlatformTimerCount
;
400 UINT32 PlatformTimerOffset
;
404 /* Flag Definitions: Timer Block Physical Timers and Virtual timers */
406 #define ACPI_GTDT_INTERRUPT_MODE (1)
407 #define ACPI_GTDT_INTERRUPT_POLARITY (1<<1)
408 #define ACPI_GTDT_ALWAYS_ON (1<<2)
411 /* Common GTDT subtable header */
413 typedef struct acpi_gtdt_header
420 /* Values for GTDT subtable type above */
424 ACPI_GTDT_TYPE_TIMER_BLOCK
= 0,
425 ACPI_GTDT_TYPE_WATCHDOG
= 1,
426 ACPI_GTDT_TYPE_RESERVED
= 2 /* 2 and greater are reserved */
430 /* GTDT Subtables, correspond to Type in acpi_gtdt_header */
432 /* 0: Generic Timer Block */
434 typedef struct acpi_gtdt_timer_block
436 ACPI_GTDT_HEADER Header
;
442 } ACPI_GTDT_TIMER_BLOCK
;
444 /* Timer Sub-Structure, one per timer */
446 typedef struct acpi_gtdt_timer_entry
451 UINT64 El0BaseAddress
;
452 UINT32 TimerInterrupt
;
454 UINT32 VirtualTimerInterrupt
;
455 UINT32 VirtualTimerFlags
;
458 } ACPI_GTDT_TIMER_ENTRY
;
460 /* Flag Definitions: TimerFlags and VirtualTimerFlags above */
462 #define ACPI_GTDT_GT_IRQ_MODE (1)
463 #define ACPI_GTDT_GT_IRQ_POLARITY (1<<1)
465 /* Flag Definitions: CommonFlags above */
467 #define ACPI_GTDT_GT_IS_SECURE_TIMER (1)
468 #define ACPI_GTDT_GT_ALWAYS_ON (1<<1)
471 /* 1: SBSA Generic Watchdog Structure */
473 typedef struct acpi_gtdt_watchdog
475 ACPI_GTDT_HEADER Header
;
477 UINT64 RefreshFrameAddress
;
478 UINT64 ControlFrameAddress
;
479 UINT32 TimerInterrupt
;
482 } ACPI_GTDT_WATCHDOG
;
484 /* Flag Definitions: TimerFlags above */
486 #define ACPI_GTDT_WATCHDOG_IRQ_MODE (1)
487 #define ACPI_GTDT_WATCHDOG_IRQ_POLARITY (1<<1)
488 #define ACPI_GTDT_WATCHDOG_SECURE (1<<2)
491 /*******************************************************************************
493 * MPST - Memory Power State Table (ACPI 5.0)
496 ******************************************************************************/
498 #define ACPI_MPST_CHANNEL_INFO \
500 UINT8 Reserved1[3]; \
501 UINT16 PowerNodeCount; \
506 typedef struct acpi_table_mpst
508 ACPI_TABLE_HEADER Header
; /* Common ACPI table header */
509 ACPI_MPST_CHANNEL_INFO
/* Platform Communication Channel */
514 /* Memory Platform Communication Channel Info */
516 typedef struct acpi_mpst_channel
518 ACPI_MPST_CHANNEL_INFO
/* Platform Communication Channel */
523 /* Memory Power Node Structure */
525 typedef struct acpi_mpst_power_node
533 UINT32 NumPowerStates
;
534 UINT32 NumPhysicalComponents
;
536 } ACPI_MPST_POWER_NODE
;
538 /* Values for Flags field above */
540 #define ACPI_MPST_ENABLED 1
541 #define ACPI_MPST_POWER_MANAGED 2
542 #define ACPI_MPST_HOT_PLUG_CAPABLE 4
545 /* Memory Power State Structure (follows POWER_NODE above) */
547 typedef struct acpi_mpst_power_state
552 } ACPI_MPST_POWER_STATE
;
555 /* Physical Component ID Structure (follows POWER_STATE above) */
557 typedef struct acpi_mpst_component
561 } ACPI_MPST_COMPONENT
;
564 /* Memory Power State Characteristics Structure (follows all POWER_NODEs) */
566 typedef struct acpi_mpst_data_hdr
568 UINT16 CharacteristicsCount
;
571 } ACPI_MPST_DATA_HDR
;
573 typedef struct acpi_mpst_power_data
583 } ACPI_MPST_POWER_DATA
;
585 /* Values for Flags field above */
587 #define ACPI_MPST_PRESERVE 1
588 #define ACPI_MPST_AUTOENTRY 2
589 #define ACPI_MPST_AUTOEXIT 4
592 /* Shared Memory Region (not part of an ACPI table) */
594 typedef struct acpi_mpst_shared
599 UINT32 CommandRegister
;
600 UINT32 StatusRegister
;
603 UINT64 EnergyConsumed
;
609 /*******************************************************************************
611 * PCCT - Platform Communications Channel Table (ACPI 5.0)
614 ******************************************************************************/
616 typedef struct acpi_table_pcct
618 ACPI_TABLE_HEADER Header
; /* Common ACPI table header */
624 /* Values for Flags field above */
626 #define ACPI_PCCT_DOORBELL 1
628 /* Values for subtable type in ACPI_SUBTABLE_HEADER */
632 ACPI_PCCT_TYPE_GENERIC_SUBSPACE
= 0,
633 ACPI_PCCT_TYPE_HW_REDUCED_SUBSPACE
= 1,
634 ACPI_PCCT_TYPE_RESERVED
= 2 /* 2 and greater are reserved */
638 * PCCT Subtables, correspond to Type in ACPI_SUBTABLE_HEADER
641 /* 0: Generic Communications Subspace */
643 typedef struct acpi_pcct_subspace
645 ACPI_SUBTABLE_HEADER Header
;
649 ACPI_GENERIC_ADDRESS DoorbellRegister
;
653 UINT32 MaxAccessRate
;
654 UINT16 MinTurnaroundTime
;
656 } ACPI_PCCT_SUBSPACE
;
659 /* 1: HW-reduced Communications Subspace (ACPI 5.1) */
661 typedef struct acpi_pcct_hw_reduced
663 ACPI_SUBTABLE_HEADER Header
;
664 UINT32 DoorbellInterrupt
;
669 ACPI_GENERIC_ADDRESS DoorbellRegister
;
673 UINT32 MaxAccessRate
;
674 UINT16 MinTurnaroundTime
;
676 } ACPI_PCCT_HW_REDUCED
;
678 /* Values for doorbell flags above */
680 #define ACPI_PCCT_INTERRUPT_POLARITY (1)
681 #define ACPI_PCCT_INTERRUPT_MODE (1<<1)
685 * PCC memory structures (not part of the ACPI table)
688 /* Shared Memory Region */
690 typedef struct acpi_pcct_shared_memory
696 } ACPI_PCCT_SHARED_MEMORY
;
699 /*******************************************************************************
701 * PMTT - Platform Memory Topology Table (ACPI 5.0)
704 ******************************************************************************/
706 typedef struct acpi_table_pmtt
708 ACPI_TABLE_HEADER Header
; /* Common ACPI table header */
714 /* Common header for PMTT subtables that follow main table */
716 typedef struct acpi_pmtt_header
726 /* Values for Type field above */
728 #define ACPI_PMTT_TYPE_SOCKET 0
729 #define ACPI_PMTT_TYPE_CONTROLLER 1
730 #define ACPI_PMTT_TYPE_DIMM 2
731 #define ACPI_PMTT_TYPE_RESERVED 3 /* 0x03-0xFF are reserved */
733 /* Values for Flags field above */
735 #define ACPI_PMTT_TOP_LEVEL 0x0001
736 #define ACPI_PMTT_PHYSICAL 0x0002
737 #define ACPI_PMTT_MEMORY_TYPE 0x000C
741 * PMTT subtables, correspond to Type in acpi_pmtt_header
745 /* 0: Socket Structure */
747 typedef struct acpi_pmtt_socket
749 ACPI_PMTT_HEADER Header
;
756 /* 1: Memory Controller subtable */
758 typedef struct acpi_pmtt_controller
760 ACPI_PMTT_HEADER Header
;
763 UINT32 ReadBandwidth
;
764 UINT32 WriteBandwidth
;
770 } ACPI_PMTT_CONTROLLER
;
772 /* 1a: Proximity Domain substructure */
774 typedef struct acpi_pmtt_domain
776 UINT32 ProximityDomain
;
781 /* 2: Physical Component Identifier (DIMM) */
783 typedef struct acpi_pmtt_physical_component
785 ACPI_PMTT_HEADER Header
;
791 } ACPI_PMTT_PHYSICAL_COMPONENT
;
794 /*******************************************************************************
796 * RASF - RAS Feature Table (ACPI 5.0)
799 ******************************************************************************/
801 typedef struct acpi_table_rasf
803 ACPI_TABLE_HEADER Header
; /* Common ACPI table header */
808 /* RASF Platform Communication Channel Shared Memory Region */
810 typedef struct acpi_rasf_shared_memory
816 UINT8 Capabilities
[16];
817 UINT8 SetCapabilities
[16];
818 UINT16 NumParameterBlocks
;
819 UINT32 SetCapabilitiesStatus
;
821 } ACPI_RASF_SHARED_MEMORY
;
823 /* RASF Parameter Block Structure Header */
825 typedef struct acpi_rasf_parameter_block
831 } ACPI_RASF_PARAMETER_BLOCK
;
833 /* RASF Parameter Block Structure for PATROL_SCRUB */
835 typedef struct acpi_rasf_patrol_scrub_parameter
837 ACPI_RASF_PARAMETER_BLOCK Header
;
838 UINT16 PatrolScrubCommand
;
839 UINT64 RequestedAddressRange
[2];
840 UINT64 ActualAddressRange
[2];
842 UINT8 RequestedSpeed
;
844 } ACPI_RASF_PATROL_SCRUB_PARAMETER
;
846 /* Masks for Flags and Speed fields above */
848 #define ACPI_RASF_SCRUBBER_RUNNING 1
849 #define ACPI_RASF_SPEED (7<<1)
850 #define ACPI_RASF_SPEED_SLOW (0<<1)
851 #define ACPI_RASF_SPEED_MEDIUM (4<<1)
852 #define ACPI_RASF_SPEED_FAST (7<<1)
854 /* Channel Commands */
856 enum AcpiRasfCommands
858 ACPI_RASF_EXECUTE_RASF_COMMAND
= 1
861 /* Platform RAS Capabilities */
863 enum AcpiRasfCapabiliities
865 ACPI_HW_PATROL_SCRUB_SUPPORTED
= 0,
866 ACPI_SW_PATROL_SCRUB_EXPOSED
= 1
869 /* Patrol Scrub Commands */
871 enum AcpiRasfPatrolScrubCommands
873 ACPI_RASF_GET_PATROL_PARAMETERS
= 1,
874 ACPI_RASF_START_PATROL_SCRUBBER
= 2,
875 ACPI_RASF_STOP_PATROL_SCRUBBER
= 3
878 /* Channel Command flags */
880 #define ACPI_RASF_GENERATE_SCI (1<<15)
886 ACPI_RASF_SUCCESS
= 0,
887 ACPI_RASF_NOT_VALID
= 1,
888 ACPI_RASF_NOT_SUPPORTED
= 2,
890 ACPI_RASF_FAILED
= 4,
891 ACPI_RASF_ABORTED
= 5,
892 ACPI_RASF_INVALID_DATA
= 6
897 #define ACPI_RASF_COMMAND_COMPLETE (1)
898 #define ACPI_RASF_SCI_DOORBELL (1<<1)
899 #define ACPI_RASF_ERROR (1<<2)
900 #define ACPI_RASF_STATUS (0x1F<<3)
903 /*******************************************************************************
905 * STAO - Status Override Table (_STA override) - ACPI 6.0
908 * Conforms to "ACPI Specification for Status Override Table"
911 ******************************************************************************/
913 typedef struct acpi_table_stao
915 ACPI_TABLE_HEADER Header
; /* Common ACPI table header */
921 /*******************************************************************************
923 * WPBT - Windows Platform Environment Table (ACPI 6.0)
926 * Conforms to "Windows Platform Binary Table (WPBT)" 29 November 2011
928 ******************************************************************************/
930 typedef struct acpi_table_wpbt
932 ACPI_TABLE_HEADER Header
; /* Common ACPI table header */
934 UINT64 HandoffAddress
;
937 UINT16 ArgumentsLength
;
942 /*******************************************************************************
944 * XENV - Xen Environment Table (ACPI 6.0)
947 * Conforms to "ACPI Specification for Xen Environment Table" 4 January 2015
949 ******************************************************************************/
951 typedef struct acpi_table_xenv
953 ACPI_TABLE_HEADER Header
; /* Common ACPI table header */
954 UINT64 GrantTableAddress
;
955 UINT64 GrantTableSize
;
956 UINT32 EventInterrupt
;
962 /* Reset to default packing */
966 #endif /* __ACTBL3_H__ */