iPXE
Acpi60.h
Go to the documentation of this file.
1/** @file
2 ACPI 6.0 definitions from the ACPI Specification Revision 6.0 Errata A January, 2016.
3
4 Copyright (c) 2015 - 2022, Intel Corporation. All rights reserved.<BR>
5 (C) Copyright 2015-2016 Hewlett Packard Enterprise Development LP<BR>
6 Copyright (c) 2020, ARM Ltd. All rights reserved.<BR>
7 Copyright (C) 2025, Advanced Micro Devices, Inc. All rights reserved.
8 SPDX-License-Identifier: BSD-2-Clause-Patent
9**/
10
11#ifndef _ACPI_6_0_H_
12#define _ACPI_6_0_H_
13
14FILE_LICENCE ( BSD2_PATENT );
15FILE_SECBOOT ( PERMITTED );
16
18
19///
20/// _CSD Revision for ACPI 6.0
21///
22#define EFI_ACPI_6_0_AML_CSD_REVISION 0
23
24///
25/// _CSD NumEntries for ACPI 6.0
26///
27#define EFI_ACPI_6_0_AML_CSD_NUM_ENTRIES 6
28
29///
30/// _PSD Revision for ACPI 6.0
31///
32#define EFI_ACPI_6_0_AML_PSD_REVISION 0
33
34///
35/// _CPC Revision for ACPI 6.0
36///
37#define EFI_ACPI_6_0_AML_CPC_REVISION 2
38
39//
40// Ensure proper structure formats
41//
42#pragma pack(1)
43
44///
45/// ACPI 6.0 Generic Address Space definition
46///
54
55//
56// Generic Address Space Address IDs
57//
58#define EFI_ACPI_6_0_SYSTEM_MEMORY 0
59#define EFI_ACPI_6_0_SYSTEM_IO 1
60#define EFI_ACPI_6_0_PCI_CONFIGURATION_SPACE 2
61#define EFI_ACPI_6_0_EMBEDDED_CONTROLLER 3
62#define EFI_ACPI_6_0_SMBUS 4
63#define EFI_ACPI_6_0_PLATFORM_COMMUNICATION_CHANNEL 0x0A
64#define EFI_ACPI_6_0_FUNCTIONAL_FIXED_HARDWARE 0x7F
65
66//
67// Generic Address Space Access Sizes
68//
69#define EFI_ACPI_6_0_UNDEFINED 0
70#define EFI_ACPI_6_0_BYTE 1
71#define EFI_ACPI_6_0_WORD 2
72#define EFI_ACPI_6_0_DWORD 3
73#define EFI_ACPI_6_0_QWORD 4
74
75//
76// ACPI 6.0 table structures
77//
78
79///
80/// Root System Description Pointer Structure
81///
93
94///
95/// RSD_PTR Revision (as defined in ACPI 6.0 spec.)
96///
97#define EFI_ACPI_6_0_ROOT_SYSTEM_DESCRIPTION_POINTER_REVISION 0x02 ///< ACPISpec (Revision 6.0) says current value is 2
98
99///
100/// Common table header, this prefaces all ACPI tables, including FACS, but
101/// excluding the RSD PTR structure
102///
107
108//
109// Root System Description Table
110// No definition needed as it is a common description table header, the same with
111// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT32 table pointers.
112//
113
114///
115/// RSDT Revision (as defined in ACPI 6.0 spec.)
116///
117#define EFI_ACPI_6_0_ROOT_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01
118
119//
120// Extended System Description Table
121// No definition needed as it is a common description table header, the same with
122// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT64 table pointers.
123//
124
125///
126/// XSDT Revision (as defined in ACPI 6.0 spec.)
127///
128#define EFI_ACPI_6_0_EXTENDED_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01
129
130///
131/// Fixed ACPI Description Table Structure (FADT)
132///
133typedef struct {
191
192///
193/// FADT Version (as defined in ACPI 6.0 spec.)
194///
195#define EFI_ACPI_6_0_FIXED_ACPI_DESCRIPTION_TABLE_REVISION 0x06
196#define EFI_ACPI_6_0_FIXED_ACPI_DESCRIPTION_TABLE_MINOR_REVISION 0x00
197
198//
199// Fixed ACPI Description Table Preferred Power Management Profile
200//
201#define EFI_ACPI_6_0_PM_PROFILE_UNSPECIFIED 0
202#define EFI_ACPI_6_0_PM_PROFILE_DESKTOP 1
203#define EFI_ACPI_6_0_PM_PROFILE_MOBILE 2
204#define EFI_ACPI_6_0_PM_PROFILE_WORKSTATION 3
205#define EFI_ACPI_6_0_PM_PROFILE_ENTERPRISE_SERVER 4
206#define EFI_ACPI_6_0_PM_PROFILE_SOHO_SERVER 5
207#define EFI_ACPI_6_0_PM_PROFILE_APPLIANCE_PC 6
208#define EFI_ACPI_6_0_PM_PROFILE_PERFORMANCE_SERVER 7
209#define EFI_ACPI_6_0_PM_PROFILE_TABLET 8
210
211//
212// Fixed ACPI Description Table Boot Architecture Flags
213// All other bits are reserved and must be set to 0.
214//
215#define EFI_ACPI_6_0_LEGACY_DEVICES BIT0
216#define EFI_ACPI_6_0_8042 BIT1
217#define EFI_ACPI_6_0_VGA_NOT_PRESENT BIT2
218#define EFI_ACPI_6_0_MSI_NOT_SUPPORTED BIT3
219#define EFI_ACPI_6_0_PCIE_ASPM_CONTROLS BIT4
220#define EFI_ACPI_6_0_CMOS_RTC_NOT_PRESENT BIT5
221
222//
223// Fixed ACPI Description Table Arm Boot Architecture Flags
224// All other bits are reserved and must be set to 0.
225//
226#define EFI_ACPI_6_0_ARM_PSCI_COMPLIANT BIT0
227#define EFI_ACPI_6_0_ARM_PSCI_USE_HVC BIT1
228
229//
230// Fixed ACPI Description Table Fixed Feature Flags
231// All other bits are reserved and must be set to 0.
232//
233#define EFI_ACPI_6_0_WBINVD BIT0
234#define EFI_ACPI_6_0_WBINVD_FLUSH BIT1
235#define EFI_ACPI_6_0_PROC_C1 BIT2
236#define EFI_ACPI_6_0_P_LVL2_UP BIT3
237#define EFI_ACPI_6_0_PWR_BUTTON BIT4
238#define EFI_ACPI_6_0_SLP_BUTTON BIT5
239#define EFI_ACPI_6_0_FIX_RTC BIT6
240#define EFI_ACPI_6_0_RTC_S4 BIT7
241#define EFI_ACPI_6_0_TMR_VAL_EXT BIT8
242#define EFI_ACPI_6_0_DCK_CAP BIT9
243#define EFI_ACPI_6_0_RESET_REG_SUP BIT10
244#define EFI_ACPI_6_0_SEALED_CASE BIT11
245#define EFI_ACPI_6_0_HEADLESS BIT12
246#define EFI_ACPI_6_0_CPU_SW_SLP BIT13
247#define EFI_ACPI_6_0_PCI_EXP_WAK BIT14
248#define EFI_ACPI_6_0_USE_PLATFORM_CLOCK BIT15
249#define EFI_ACPI_6_0_S4_RTC_STS_VALID BIT16
250#define EFI_ACPI_6_0_REMOTE_POWER_ON_CAPABLE BIT17
251#define EFI_ACPI_6_0_FORCE_APIC_CLUSTER_MODEL BIT18
252#define EFI_ACPI_6_0_FORCE_APIC_PHYSICAL_DESTINATION_MODE BIT19
253#define EFI_ACPI_6_0_HW_REDUCED_ACPI BIT20
254#define EFI_ACPI_6_0_LOW_POWER_S0_IDLE_CAPABLE BIT21
255
256///
257/// Firmware ACPI Control Structure
258///
272
273///
274/// FACS Version (as defined in ACPI 6.0 spec.)
275///
276#define EFI_ACPI_6_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_VERSION 0x02
277
278///
279/// Firmware Control Structure Feature Flags
280/// All other bits are reserved and must be set to 0.
281///
282#define EFI_ACPI_6_0_S4BIOS_F BIT0
283#define EFI_ACPI_6_0_64BIT_WAKE_SUPPORTED_F BIT1
284
285///
286/// OSPM Enabled Firmware Control Structure Flags
287/// All other bits are reserved and must be set to 0.
288///
289#define EFI_ACPI_6_0_OSPM_64BIT_WAKE_F BIT0
290
291//
292// Differentiated System Description Table,
293// Secondary System Description Table
294// and Persistent System Description Table,
295// no definition needed as they are common description table header, the same with
296// EFI_ACPI_DESCRIPTION_HEADER, followed by a definition block.
297//
298#define EFI_ACPI_6_0_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_REVISION 0x02
299#define EFI_ACPI_6_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_REVISION 0x02
300
301///
302/// Multiple APIC Description Table header definition. The rest of the table
303/// must be defined in a platform specific manner.
304///
310
311///
312/// MADT Revision (as defined in ACPI 6.0 Errata A spec.)
313///
314#define EFI_ACPI_6_0_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION 0x04
315
316///
317/// Multiple APIC Flags
318/// All other bits are reserved and must be set to 0.
319///
320#define EFI_ACPI_6_0_PCAT_COMPAT BIT0
321
322//
323// Multiple APIC Description Table APIC structure types
324// All other values between 0x0D and 0x7F are reserved and
325// will be ignored by OSPM. 0x80 ~ 0xFF are reserved for OEM.
326//
327#define EFI_ACPI_6_0_PROCESSOR_LOCAL_APIC 0x00
328#define EFI_ACPI_6_0_IO_APIC 0x01
329#define EFI_ACPI_6_0_INTERRUPT_SOURCE_OVERRIDE 0x02
330#define EFI_ACPI_6_0_NON_MASKABLE_INTERRUPT_SOURCE 0x03
331#define EFI_ACPI_6_0_LOCAL_APIC_NMI 0x04
332#define EFI_ACPI_6_0_LOCAL_APIC_ADDRESS_OVERRIDE 0x05
333#define EFI_ACPI_6_0_IO_SAPIC 0x06
334#define EFI_ACPI_6_0_LOCAL_SAPIC 0x07
335#define EFI_ACPI_6_0_PLATFORM_INTERRUPT_SOURCES 0x08
336#define EFI_ACPI_6_0_PROCESSOR_LOCAL_X2APIC 0x09
337#define EFI_ACPI_6_0_LOCAL_X2APIC_NMI 0x0A
338#define EFI_ACPI_6_0_GIC 0x0B
339#define EFI_ACPI_6_0_GICD 0x0C
340#define EFI_ACPI_6_0_GIC_MSI_FRAME 0x0D
341#define EFI_ACPI_6_0_GICR 0x0E
342#define EFI_ACPI_6_0_GIC_ITS 0x0F
343
344//
345// APIC Structure Definitions
346//
347
348///
349/// Processor Local APIC Structure Definition
350///
358
359///
360/// Local APIC Flags. All other bits are reserved and must be 0.
361///
362#define EFI_ACPI_6_0_LOCAL_APIC_ENABLED BIT0
363
364///
365/// IO APIC Structure
366///
375
376///
377/// Interrupt Source Override Structure
378///
387
388///
389/// Platform Interrupt Sources Structure Definition
390///
404
405//
406// MPS INTI flags.
407// All other bits are reserved and must be set to 0.
408//
409#define EFI_ACPI_6_0_POLARITY (3 << 0)
410#define EFI_ACPI_6_0_TRIGGER_MODE (3 << 2)
411
412///
413/// Non-Maskable Interrupt Source Structure
414///
421
422///
423/// Local APIC NMI Structure
424///
432
433///
434/// Local APIC Address Override Structure
435///
442
443///
444/// IO SAPIC Structure
445///
454
455///
456/// Local SAPIC Structure
457/// This struct followed by a null-terminated ASCII string - ACPI Processor UID String
458///
469
470///
471/// Platform Interrupt Sources Structure
472///
484
485///
486/// Platform Interrupt Source Flags.
487/// All other bits are reserved and must be set to 0.
488///
489#define EFI_ACPI_6_0_CPEI_PROCESSOR_OVERRIDE BIT0
490
491///
492/// Processor Local x2APIC Structure Definition
493///
502
503///
504/// Local x2APIC NMI Structure
505///
514
515///
516/// GIC Structure
517///
537
538///
539/// GIC Flags. All other bits are reserved and must be 0.
540///
541#define EFI_ACPI_6_0_GIC_ENABLED BIT0
542#define EFI_ACPI_6_0_PERFORMANCE_INTERRUPT_MODEL BIT1
543#define EFI_ACPI_6_0_VGIC_MAINTENANCE_INTERRUPT_MODE_FLAGS BIT2
544
545///
546/// GIC Distributor Structure
547///
558
559///
560/// GIC Version
561///
562#define EFI_ACPI_6_0_GIC_V1 0x01
563#define EFI_ACPI_6_0_GIC_V2 0x02
564#define EFI_ACPI_6_0_GIC_V3 0x03
565#define EFI_ACPI_6_0_GIC_V4 0x04
566
567///
568/// GIC MSI Frame Structure
569///
580
581///
582/// GIC MSI Frame Flags. All other bits are reserved and must be 0.
583///
584#define EFI_ACPI_6_0_SPI_COUNT_BASE_SELECT BIT0
585
586///
587/// GICR Structure
588///
596
597///
598/// GIC Interrupt Translation Service Structure
599///
608
609///
610/// Smart Battery Description Table (SBST)
611///
618
619///
620/// SBST Version (as defined in ACPI 6.0 spec.)
621///
622#define EFI_ACPI_6_0_SMART_BATTERY_DESCRIPTION_TABLE_REVISION 0x01
623
624///
625/// Embedded Controller Boot Resources Table (ECDT)
626/// The table is followed by a null terminated ASCII string that contains
627/// a fully qualified reference to the name space object.
628///
636
637///
638/// ECDT Version (as defined in ACPI 6.0 spec.)
639///
640#define EFI_ACPI_6_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_REVISION 0x01
641
642///
643/// System Resource Affinity Table (SRAT). The rest of the table
644/// must be defined in a platform specific manner.
645///
651
652///
653/// SRAT Version (as defined in ACPI 6.0 spec.)
654///
655#define EFI_ACPI_6_0_SYSTEM_RESOURCE_AFFINITY_TABLE_REVISION 0x03
656
657//
658// SRAT structure types.
659// All other values between 0x04 an 0xFF are reserved and
660// will be ignored by OSPM.
661//
662#define EFI_ACPI_6_0_PROCESSOR_LOCAL_APIC_SAPIC_AFFINITY 0x00
663#define EFI_ACPI_6_0_MEMORY_AFFINITY 0x01
664#define EFI_ACPI_6_0_PROCESSOR_LOCAL_X2APIC_AFFINITY 0x02
665#define EFI_ACPI_6_0_GICC_AFFINITY 0x03
666
667///
668/// Processor Local APIC/SAPIC Affinity Structure Definition
669///
680
681///
682/// Local APIC/SAPIC Flags. All other bits are reserved and must be 0.
683///
684#define EFI_ACPI_6_0_PROCESSOR_LOCAL_APIC_SAPIC_ENABLED (1 << 0)
685
686///
687/// Memory Affinity Structure Definition
688///
702
703//
704// Memory Flags. All other bits are reserved and must be 0.
705//
706#define EFI_ACPI_6_0_MEMORY_ENABLED (1 << 0)
707#define EFI_ACPI_6_0_MEMORY_HOT_PLUGGABLE (1 << 1)
708#define EFI_ACPI_6_0_MEMORY_NONVOLATILE (1 << 2)
709
710///
711/// Processor Local x2APIC Affinity Structure Definition
712///
723
724///
725/// GICC Affinity Structure Definition
726///
735
736///
737/// GICC Flags. All other bits are reserved and must be 0.
738///
739#define EFI_ACPI_6_0_GICC_ENABLED (1 << 0)
740
741///
742/// System Locality Distance Information Table (SLIT).
743/// The rest of the table is a matrix.
744///
749
750///
751/// SLIT Version (as defined in ACPI 6.0 spec.)
752///
753#define EFI_ACPI_6_0_SYSTEM_LOCALITY_DISTANCE_INFORMATION_TABLE_REVISION 0x01
754
755///
756/// Corrected Platform Error Polling Table (CPEP)
757///
762
763///
764/// CPEP Version (as defined in ACPI 6.0 spec.)
765///
766#define EFI_ACPI_6_0_CORRECTED_PLATFORM_ERROR_POLLING_TABLE_REVISION 0x01
767
768//
769// CPEP processor structure types.
770//
771#define EFI_ACPI_6_0_CPEP_PROCESSOR_APIC_SAPIC 0x00
772
773///
774/// Corrected Platform Error Polling Processor Structure Definition
775///
783
784///
785/// Maximum System Characteristics Table (MSCT)
786///
794
795///
796/// MSCT Version (as defined in ACPI 6.0 spec.)
797///
798#define EFI_ACPI_6_0_MAXIMUM_SYSTEM_CHARACTERISTICS_TABLE_REVISION 0x01
799
800///
801/// Maximum Proximity Domain Information Structure Definition
802///
811
812///
813/// ACPI RAS Feature Table definition.
814///
819
820///
821/// RASF Version (as defined in ACPI 6.0 spec.)
822///
823#define EFI_ACPI_6_0_RAS_FEATURE_TABLE_REVISION 0x01
824
825///
826/// ACPI RASF Platform Communication Channel Shared Memory Region definition.
827///
838
839///
840/// ACPI RASF PCC command code
841///
842#define EFI_ACPI_6_0_RASF_PCC_COMMAND_CODE_EXECUTE_RASF_COMMAND 0x01
843
844///
845/// ACPI RASF Platform RAS Capabilities
846///
847#define EFI_ACPI_6_0_RASF_PLATFORM_RAS_CAPABILITY_HARDWARE_BASED_PATROL_SCRUB_SUPPOTED 0x01
848#define EFI_ACPI_6_0_RASF_PLATFORM_RAS_CAPABILITY_HARDWARE_BASED_PATROL_SCRUB_SUPPOTED_AND_EXPOSED_TO_SOFTWARE 0x02
849
850///
851/// ACPI RASF Parameter Block structure for PATROL_SCRUB
852///
863
864///
865/// ACPI RASF Patrol Scrub command
866///
867#define EFI_ACPI_6_0_RASF_PATROL_SCRUB_COMMAND_GET_PATROL_PARAMETERS 0x01
868#define EFI_ACPI_6_0_RASF_PATROL_SCRUB_COMMAND_START_PATROL_SCRUBBER 0x02
869#define EFI_ACPI_6_0_RASF_PATROL_SCRUB_COMMAND_STOP_PATROL_SCRUBBER 0x03
870
871///
872/// Memory Power State Table definition.
873///
874typedef struct {
878 // Memory Power Node Structure
879 // Memory Power State Characteristics
881
882///
883/// MPST Version (as defined in ACPI 6.0 spec.)
884///
885#define EFI_ACPI_6_0_MEMORY_POWER_STATE_TABLE_REVISION 0x01
886
887///
888/// MPST Platform Communication Channel Shared Memory Region definition.
889///
901
902///
903/// ACPI MPST PCC command code
904///
905#define EFI_ACPI_6_0_MPST_PCC_COMMAND_CODE_EXECUTE_MPST_COMMAND 0x03
906
907///
908/// ACPI MPST Memory Power command
909///
910#define EFI_ACPI_6_0_MPST_MEMORY_POWER_COMMAND_GET_MEMORY_POWER_STATE 0x01
911#define EFI_ACPI_6_0_MPST_MEMORY_POWER_COMMAND_SET_MEMORY_POWER_STATE 0x02
912#define EFI_ACPI_6_0_MPST_MEMORY_POWER_COMMAND_GET_AVERAGE_POWER_CONSUMED 0x03
913#define EFI_ACPI_6_0_MPST_MEMORY_POWER_COMMAND_GET_MEMORY_ENERGY_CONSUMED 0x04
914
915///
916/// MPST Memory Power Node Table
917///
922
923typedef struct {
932 // EFI_ACPI_6_0_MPST_MEMORY_POWER_STATE MemoryPowerState[NumberOfPowerStates];
933 // UINT16 PhysicalComponentIdentifier[NumberOfPhysicalComponents];
935
936#define EFI_ACPI_6_0_MPST_MEMORY_POWER_STRUCTURE_FLAG_ENABLE 0x01
937#define EFI_ACPI_6_0_MPST_MEMORY_POWER_STRUCTURE_FLAG_POWER_MANAGED 0x02
938#define EFI_ACPI_6_0_MPST_MEMORY_POWER_STRUCTURE_FLAG_HOT_PLUGGABLE 0x04
939
944
945///
946/// MPST Memory Power State Characteristics Table
947///
956
957#define EFI_ACPI_6_0_MPST_MEMORY_POWER_STATE_CHARACTERISTICS_STRUCTURE_FLAG_MEMORY_CONTENT_PRESERVED 0x01
958#define EFI_ACPI_6_0_MPST_MEMORY_POWER_STATE_CHARACTERISTICS_STRUCTURE_FLAG_AUTONOMOUS_MEMORY_POWER_STATE_ENTRY 0x02
959#define EFI_ACPI_6_0_MPST_MEMORY_POWER_STATE_CHARACTERISTICS_STRUCTURE_FLAG_AUTONOMOUS_MEMORY_POWER_STATE_EXIT 0x04
960
965
966///
967/// Memory Topology Table definition.
968///
973
974///
975/// PMTT Version (as defined in ACPI 6.0 spec.)
976///
977#define EFI_ACPI_6_0_MEMORY_TOPOLOGY_TABLE_REVISION 0x01
978
979///
980/// Common Memory Aggregator Device Structure.
981///
989
990///
991/// Memory Aggregator Device Type
992///
993#define EFI_ACPI_6_0_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_SOCKET 0x0
994#define EFI_ACPI_6_0_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_MEMORY_CONTROLLER 0x1
995#define EFI_ACPI_6_0_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_DIMM 0x2
996
997///
998/// Socket Memory Aggregator Device Structure.
999///
1000typedef struct {
1004 // EFI_ACPI_6_0_PMMT_MEMORY_CONTROLLER_MEMORY_AGGREGATOR_DEVICE_STRUCTURE MemoryController[];
1006
1007///
1008/// MemoryController Memory Aggregator Device Structure.
1009///
1023
1024///
1025/// DIMM Memory Aggregator Device Structure.
1026///
1034
1035///
1036/// Boot Graphics Resource Table definition.
1037///
1038typedef struct {
1040 ///
1041 /// 2-bytes (16 bit) version ID. This value must be 1.
1042 ///
1044 ///
1045 /// 1-byte status field indicating current status about the table.
1046 /// Bits[7:1] = Reserved (must be zero)
1047 /// Bit [0] = Valid. A one indicates the boot image graphic is valid.
1048 ///
1050 ///
1051 /// 1-byte enumerated type field indicating format of the image.
1052 /// 0 = Bitmap
1053 /// 1 - 255 Reserved (for future use)
1054 ///
1056 ///
1057 /// 8-byte (64 bit) physical address pointing to the firmware's in-memory copy
1058 /// of the image bitmap.
1059 ///
1061 ///
1062 /// A 4-byte (32-bit) unsigned long describing the display X-offset of the boot image.
1063 /// (X, Y) display offset of the top left corner of the boot image.
1064 /// The top left corner of the display is at offset (0, 0).
1065 ///
1067 ///
1068 /// A 4-byte (32-bit) unsigned long describing the display Y-offset of the boot image.
1069 /// (X, Y) display offset of the top left corner of the boot image.
1070 /// The top left corner of the display is at offset (0, 0).
1071 ///
1074
1075///
1076/// BGRT Revision
1077///
1078#define EFI_ACPI_6_0_BOOT_GRAPHICS_RESOURCE_TABLE_REVISION 1
1079
1080///
1081/// BGRT Version
1082///
1083#define EFI_ACPI_6_0_BGRT_VERSION 0x01
1084
1085///
1086/// BGRT Status
1087///
1088#define EFI_ACPI_6_0_BGRT_STATUS_NOT_DISPLAYED 0x00
1089#define EFI_ACPI_6_0_BGRT_STATUS_DISPLAYED 0x01
1090
1091///
1092/// BGRT Image Type
1093///
1094#define EFI_ACPI_6_0_BGRT_IMAGE_TYPE_BMP 0x00
1095
1096///
1097/// FPDT Version (as defined in ACPI 6.0 spec.)
1098///
1099#define EFI_ACPI_6_0_FIRMWARE_PERFORMANCE_DATA_TABLE_REVISION 0x01
1100
1101///
1102/// FPDT Performance Record Types
1103///
1104#define EFI_ACPI_6_0_FPDT_RECORD_TYPE_FIRMWARE_BASIC_BOOT_POINTER 0x0000
1105#define EFI_ACPI_6_0_FPDT_RECORD_TYPE_S3_PERFORMANCE_TABLE_POINTER 0x0001
1106
1107///
1108/// FPDT Performance Record Revision
1109///
1110#define EFI_ACPI_6_0_FPDT_RECORD_REVISION_FIRMWARE_BASIC_BOOT_POINTER 0x01
1111#define EFI_ACPI_6_0_FPDT_RECORD_REVISION_S3_PERFORMANCE_TABLE_POINTER 0x01
1112
1113///
1114/// FPDT Runtime Performance Record Types
1115///
1116#define EFI_ACPI_6_0_FPDT_RUNTIME_RECORD_TYPE_S3_RESUME 0x0000
1117#define EFI_ACPI_6_0_FPDT_RUNTIME_RECORD_TYPE_S3_SUSPEND 0x0001
1118#define EFI_ACPI_6_0_FPDT_RUNTIME_RECORD_TYPE_FIRMWARE_BASIC_BOOT 0x0002
1119
1120///
1121/// FPDT Runtime Performance Record Revision
1122///
1123#define EFI_ACPI_6_0_FPDT_RUNTIME_RECORD_REVISION_S3_RESUME 0x01
1124#define EFI_ACPI_6_0_FPDT_RUNTIME_RECORD_REVISION_S3_SUSPEND 0x01
1125#define EFI_ACPI_6_0_FPDT_RUNTIME_RECORD_REVISION_FIRMWARE_BASIC_BOOT 0x02
1126
1127///
1128/// FPDT Performance Record header
1129///
1135
1136///
1137/// FPDT Performance Table header
1138///
1143
1144///
1145/// FPDT Firmware Basic Boot Performance Pointer Record Structure
1146///
1147typedef struct {
1150 ///
1151 /// 64-bit processor-relative physical address of the Basic Boot Performance Table.
1152 ///
1155
1156///
1157/// FPDT S3 Performance Table Pointer Record Structure
1158///
1159typedef struct {
1162 ///
1163 /// 64-bit processor-relative physical address of the S3 Performance Table.
1164 ///
1167
1168///
1169/// FPDT Firmware Basic Boot Performance Record Structure
1170///
1171typedef struct {
1174 ///
1175 /// Timer value logged at the beginning of firmware image execution.
1176 /// This may not always be zero or near zero.
1177 ///
1179 ///
1180 /// Timer value logged just prior to loading the OS boot loader into memory.
1181 /// For non-UEFI compatible boots, this field must be zero.
1182 ///
1184 ///
1185 /// Timer value logged just prior to launching the previously loaded OS boot loader image.
1186 /// For non-UEFI compatible boots, the timer value logged will be just prior
1187 /// to the INT 19h handler invocation.
1188 ///
1190 ///
1191 /// Timer value logged at the point when the OS loader calls the
1192 /// ExitBootServices function for UEFI compatible firmware.
1193 /// For non-UEFI compatible boots, this field must be zero.
1194 ///
1196 ///
1197 /// Timer value logged at the point just prior to when the OS loader gaining
1198 /// control back from calls the ExitBootServices function for UEFI compatible firmware.
1199 /// For non-UEFI compatible boots, this field must be zero.
1200 ///
1203
1204///
1205/// FPDT Firmware Basic Boot Performance Table signature
1206///
1207#define EFI_ACPI_6_0_FPDT_BOOT_PERFORMANCE_TABLE_SIGNATURE SIGNATURE_32('F', 'B', 'P', 'T')
1208
1209//
1210// FPDT Firmware Basic Boot Performance Table
1211//
1212typedef struct {
1214 //
1215 // one or more Performance Records.
1216 //
1218
1219///
1220/// FPDT "S3PT" S3 Performance Table
1221///
1222#define EFI_ACPI_6_0_FPDT_S3_PERFORMANCE_TABLE_SIGNATURE SIGNATURE_32('S', '3', 'P', 'T')
1223
1224//
1225// FPDT Firmware S3 Boot Performance Table
1226//
1227typedef struct {
1229 //
1230 // one or more Performance Records.
1231 //
1233
1234///
1235/// FPDT Basic S3 Resume Performance Record
1236///
1237typedef struct {
1239 ///
1240 /// A count of the number of S3 resume cycles since the last full boot sequence.
1241 ///
1243 ///
1244 /// Timer recorded at the end of BIOS S3 resume, just prior to handoff to the
1245 /// OS waking vector. Only the most recent resume cycle's time is retained.
1246 ///
1248 ///
1249 /// Average timer value of all resume cycles logged since the last full boot
1250 /// sequence, including the most recent resume. Note that the entire log of
1251 /// timer values does not need to be retained in order to calculate this average.
1252 ///
1255
1256///
1257/// FPDT Basic S3 Suspend Performance Record
1258///
1259typedef struct {
1261 ///
1262 /// Timer value recorded at the OS write to SLP_TYP upon entry to S3.
1263 /// Only the most recent suspend cycle's timer value is retained.
1264 ///
1266 ///
1267 /// Timer value recorded at the final firmware write to SLP_TYP (or other
1268 /// mechanism) used to trigger hardware entry to S3.
1269 /// Only the most recent suspend cycle's timer value is retained.
1270 ///
1273
1274///
1275/// Firmware Performance Record Table definition.
1276///
1280
1281///
1282/// Generic Timer Description Table definition.
1283///
1300
1301///
1302/// GTDT Version (as defined in ACPI 6.0 spec.)
1303///
1304#define EFI_ACPI_6_0_GENERIC_TIMER_DESCRIPTION_TABLE_REVISION 0x02
1305
1306///
1307/// Timer Flags. All other bits are reserved and must be 0.
1308///
1309#define EFI_ACPI_6_0_GTDT_TIMER_FLAG_TIMER_INTERRUPT_MODE BIT0
1310#define EFI_ACPI_6_0_GTDT_TIMER_FLAG_TIMER_INTERRUPT_POLARITY BIT1
1311#define EFI_ACPI_6_0_GTDT_TIMER_FLAG_ALWAYS_ON_CAPABILITY BIT2
1312
1313///
1314/// Platform Timer Type
1315///
1316#define EFI_ACPI_6_0_GTDT_GT_BLOCK 0
1317#define EFI_ACPI_6_0_GTDT_SBSA_GENERIC_WATCHDOG 1
1318
1319///
1320/// GT Block Structure
1321///
1330
1331///
1332/// GT Block Timer Structure
1333///
1345
1346///
1347/// GT Block Physical Timers and Virtual Timers Flags. All other bits are reserved and must be 0.
1348///
1349#define EFI_ACPI_6_0_GTDT_GT_BLOCK_TIMER_FLAG_TIMER_INTERRUPT_MODE BIT0
1350#define EFI_ACPI_6_0_GTDT_GT_BLOCK_TIMER_FLAG_TIMER_INTERRUPT_POLARITY BIT1
1351
1352///
1353/// Common Flags Flags. All other bits are reserved and must be 0.
1354///
1355#define EFI_ACPI_6_0_GTDT_GT_BLOCK_COMMON_FLAG_SECURE_TIMER BIT0
1356#define EFI_ACPI_6_0_GTDT_GT_BLOCK_COMMON_FLAG_ALWAYS_ON_CAPABILITY BIT1
1357
1358///
1359/// SBSA Generic Watchdog Structure
1360///
1370
1371///
1372/// SBSA Generic Watchdog Timer Flags. All other bits are reserved and must be 0.
1373///
1374#define EFI_ACPI_6_0_GTDT_SBSA_GENERIC_WATCHDOG_FLAG_TIMER_INTERRUPT_MODE BIT0
1375#define EFI_ACPI_6_0_GTDT_SBSA_GENERIC_WATCHDOG_FLAG_TIMER_INTERRUPT_POLARITY BIT1
1376#define EFI_ACPI_6_0_GTDT_SBSA_GENERIC_WATCHDOG_FLAG_SECURE_TIMER BIT2
1377
1378//
1379// NVDIMM Firmware Interface Table definition.
1380//
1385
1386//
1387// NFIT Version (as defined in ACPI 6.0 spec.)
1388//
1389#define EFI_ACPI_6_0_NVDIMM_FIRMWARE_INTERFACE_TABLE_REVISION 0x1
1390
1391//
1392// Definition for NFIT Table Structure Types
1393//
1394#define EFI_ACPI_6_0_NFIT_SYSTEM_PHYSICAL_ADDRESS_RANGE_STRUCTURE_TYPE 0
1395#define EFI_ACPI_6_0_NFIT_MEMORY_DEVICE_TO_SYSTEM_ADDRESS_RANGE_MAP_STRUCTURE_TYPE 1
1396#define EFI_ACPI_6_0_NFIT_INTERLEAVE_STRUCTURE_TYPE 2
1397#define EFI_ACPI_6_0_NFIT_SMBIOS_MANAGEMENT_INFORMATION_STRUCTURE_TYPE 3
1398#define EFI_ACPI_6_0_NFIT_NVDIMM_CONTROL_REGION_STRUCTURE_TYPE 4
1399#define EFI_ACPI_6_0_NFIT_NVDIMM_BLOCK_DATA_WINDOW_REGION_STRUCTURE_TYPE 5
1400#define EFI_ACPI_6_0_NFIT_FLUSH_HINT_ADDRESS_STRUCTURE_TYPE 6
1401
1402//
1403// Definition for NFIT Structure Header
1404//
1409
1410//
1411// Definition for System Physical Address Range Structure
1412//
1413#define EFI_ACPI_6_0_NFIT_SYSTEM_PHYSICAL_ADDRESS_RANGE_FLAGS_CONTROL_REGION_FOR_MANAGEMENT BIT0
1414#define EFI_ACPI_6_0_NFIT_SYSTEM_PHYSICAL_ADDRESS_RANGE_FLAGS_PROXIMITY_DOMAIN_VALID BIT1
1415#define EFI_ACPI_6_0_NFIT_GUID_VOLATILE_MEMORY_REGION { 0x7305944F, 0xFDDA, 0x44E3, { 0xB1, 0x6C, 0x3F, 0x22, 0xD2, 0x52, 0xE5, 0xD0 }}
1416#define EFI_ACPI_6_0_NFIT_GUID_BYTE_ADDRESSABLE_PERSISTENT_MEMORY_REGION { 0x66F0D379, 0xB4F3, 0x4074, { 0xAC, 0x43, 0x0D, 0x33, 0x18, 0xB7, 0x8C, 0xDB }}
1417#define EFI_ACPI_6_0_NFIT_GUID_NVDIMM_CONTROL_REGION { 0x92F701F6, 0x13B4, 0x405D, { 0x91, 0x0B, 0x29, 0x93, 0x67, 0xE8, 0x23, 0x4C }}
1418#define EFI_ACPI_6_0_NFIT_GUID_NVDIMM_BLOCK_DATA_WINDOW_REGION { 0x91AF0530, 0x5D86, 0x470E, { 0xA6, 0xB0, 0x0A, 0x2D, 0xB9, 0x40, 0x82, 0x49 }}
1419#define EFI_ACPI_6_0_NFIT_GUID_RAM_DISK_SUPPORTING_VIRTUAL_DISK_REGION_VOLATILE { 0x77AB535A, 0x45FC, 0x624B, { 0x55, 0x60, 0xF7, 0xB2, 0x81, 0xD1, 0xF9, 0x6E }}
1420#define EFI_ACPI_6_0_NFIT_GUID_RAM_DISK_SUPPORTING_VIRTUAL_CD_REGION_VOLATILE { 0x3D5ABD30, 0x4175, 0x87CE, { 0x6D, 0x64, 0xD2, 0xAD, 0xE5, 0x23, 0xC4, 0xBB }}
1421#define EFI_ACPI_6_0_NFIT_GUID_RAM_DISK_SUPPORTING_VIRTUAL_DISK_REGION_PERSISTENT { 0x5CEA02C9, 0x4D07, 0x69D3, { 0x26, 0x9F ,0x44, 0x96, 0xFB, 0xE0, 0x96, 0xF9 }}
1422#define EFI_ACPI_6_0_NFIT_GUID_RAM_DISK_SUPPORTING_VIRTUAL_CD_REGION_PERSISTENT { 0x08018188, 0x42CD, 0xBB48, { 0x10, 0x0F, 0x53, 0x87, 0xD5, 0x3D, 0xED, 0x3D }}
1435
1436//
1437// Definition for Memory Device to System Physical Address Range Mapping Structure
1438//
1447
1448#define EFI_ACPI_6_0_NFIT_MEMORY_DEVICE_STATE_FLAGS_PREVIOUS_SAVE_FAIL BIT0
1449#define EFI_ACPI_6_0_NFIT_MEMORY_DEVICE_STATE_FLAGS_LAST_RESTORE_FAIL BIT1
1450#define EFI_ACPI_6_0_NFIT_MEMORY_DEVICE_STATE_FLAGS_PLATFORM_FLUSH_FAIL BIT2
1451#define EFI_ACPI_6_0_NFIT_MEMORY_DEVICE_STATE_FLAGS_NOT_ARMED_PRIOR_TO_OSPM_HAND_OFF BIT3
1452#define EFI_ACPI_6_0_NFIT_MEMORY_DEVICE_STATE_FLAGS_SMART_HEALTH_EVENTS_PRIOR_OSPM_HAND_OFF BIT4
1453#define EFI_ACPI_6_0_NFIT_MEMORY_DEVICE_STATE_FLAGS_FIRMWARE_ENABLED_TO_NOTIFY_OSPM_ON_SMART_HEALTH_EVENTS BIT5
1470
1471//
1472// Definition for Interleave Structure
1473//
1483
1484//
1485// Definition for SMBIOS Management Information Structure
1486//
1493
1494//
1495// Definition for NVDIMM Control Region Structure
1496//
1497#define EFI_ACPI_6_0_NFIT_NVDIMM_CONTROL_REGION_FLAGS_BLOCK_DATA_WINDOWS_BUFFERED BIT0
1520
1521//
1522// Definition for NVDIMM Block Data Window Region Structure
1523//
1534
1535//
1536// Definition for Flush Hint Address Structure
1537//
1546
1547///
1548/// Boot Error Record Table (BERT)
1549///
1555
1556///
1557/// BERT Version (as defined in ACPI 6.0 spec.)
1558///
1559#define EFI_ACPI_6_0_BOOT_ERROR_RECORD_TABLE_REVISION 0x01
1560
1561///
1562/// Boot Error Region Block Status Definition
1563///
1572
1573///
1574/// Boot Error Region Definition
1575///
1583
1584//
1585// Boot Error Severity types
1586//
1587#define EFI_ACPI_6_0_ERROR_SEVERITY_RECOVERABLE 0x00
1588#define EFI_ACPI_6_0_ERROR_SEVERITY_FATAL 0x01
1589#define EFI_ACPI_6_0_ERROR_SEVERITY_CORRECTED 0x02
1590#define EFI_ACPI_6_0_ERROR_SEVERITY_NONE 0x03
1591//
1592// The term 'Correctable' is no longer being used as an error severity of the
1593// reported error since ACPI Specification Version 5.1 Errata B.
1594// The below macro is considered as deprecated and should no longer be used.
1595//
1596#define EFI_ACPI_6_0_ERROR_SEVERITY_CORRECTABLE 0x00
1597
1598///
1599/// Generic Error Data Entry Definition
1600///
1611
1612///
1613/// Generic Error Data Entry Version (as defined in ACPI 6.0 spec.)
1614///
1615#define EFI_ACPI_6_0_GENERIC_ERROR_DATA_ENTRY_REVISION 0x0201
1616
1617///
1618/// HEST - Hardware Error Source Table
1619///
1624
1625///
1626/// HEST Version (as defined in ACPI 6.0 spec.)
1627///
1628#define EFI_ACPI_6_0_HARDWARE_ERROR_SOURCE_TABLE_REVISION 0x01
1629
1630//
1631// Error Source structure types.
1632//
1633#define EFI_ACPI_6_0_IA32_ARCHITECTURE_MACHINE_CHECK_EXCEPTION 0x00
1634#define EFI_ACPI_6_0_IA32_ARCHITECTURE_CORRECTED_MACHINE_CHECK 0x01
1635#define EFI_ACPI_6_0_IA32_ARCHITECTURE_NMI_ERROR 0x02
1636#define EFI_ACPI_6_0_PCI_EXPRESS_ROOT_PORT_AER 0x06
1637#define EFI_ACPI_6_0_PCI_EXPRESS_DEVICE_AER 0x07
1638#define EFI_ACPI_6_0_PCI_EXPRESS_BRIDGE_AER 0x08
1639#define EFI_ACPI_6_0_GENERIC_HARDWARE_ERROR 0x09
1640
1641//
1642// Error Source structure flags.
1643//
1644#define EFI_ACPI_6_0_ERROR_SOURCE_FLAG_FIRMWARE_FIRST (1 << 0)
1645#define EFI_ACPI_6_0_ERROR_SOURCE_FLAG_GLOBAL (1 << 1)
1646
1647///
1648/// IA-32 Architecture Machine Check Exception Structure Definition
1649///
1663
1664///
1665/// IA-32 Architecture Machine Check Bank Structure Definition
1666///
1678
1679///
1680/// IA-32 Architecture Machine Check Bank Structure MCA data format
1681///
1682#define EFI_ACPI_6_0_IA32_ARCHITECTURE_MACHINE_CHECK_ERROR_DATA_FORMAT_IA32 0x00
1683#define EFI_ACPI_6_0_IA32_ARCHITECTURE_MACHINE_CHECK_ERROR_DATA_FORMAT_INTEL64 0x01
1684#define EFI_ACPI_6_0_IA32_ARCHITECTURE_MACHINE_CHECK_ERROR_DATA_FORMAT_AMD64 0x02
1685
1686//
1687// Hardware Error Notification types. All other values are reserved
1688//
1689#define EFI_ACPI_6_0_HARDWARE_ERROR_NOTIFICATION_POLLED 0x00
1690#define EFI_ACPI_6_0_HARDWARE_ERROR_NOTIFICATION_EXTERNAL_INTERRUPT 0x01
1691#define EFI_ACPI_6_0_HARDWARE_ERROR_NOTIFICATION_LOCAL_INTERRUPT 0x02
1692#define EFI_ACPI_6_0_HARDWARE_ERROR_NOTIFICATION_SCI 0x03
1693#define EFI_ACPI_6_0_HARDWARE_ERROR_NOTIFICATION_NMI 0x04
1694#define EFI_ACPI_6_0_HARDWARE_ERROR_NOTIFICATION_CMCI 0x05
1695#define EFI_ACPI_6_0_HARDWARE_ERROR_NOTIFICATION_MCE 0x06
1696#define EFI_ACPI_6_0_HARDWARE_ERROR_NOTIFICATION_GPIO_SIGNAL 0x07
1697
1698///
1699/// Hardware Error Notification Configuration Write Enable Structure Definition
1700///
1710
1711///
1712/// Hardware Error Notification Structure Definition
1713///
1725
1726///
1727/// IA-32 Architecture Corrected Machine Check Structure Definition
1728///
1741
1742///
1743/// IA-32 Architecture NMI Error Structure Definition
1744///
1753
1754///
1755/// PCI Express Root Port AER Structure Definition
1756///
1776
1777///
1778/// PCI Express Device AER Structure Definition
1779///
1798
1799///
1800/// PCI Express Bridge AER Structure Definition
1801///
1823
1824///
1825/// Generic Hardware Error Source Structure Definition
1826///
1840
1841///
1842/// Generic Error Status Definition
1843///
1851
1852///
1853/// ERST - Error Record Serialization Table
1854///
1861
1862///
1863/// ERST Version (as defined in ACPI 6.0 spec.)
1864///
1865#define EFI_ACPI_6_0_ERROR_RECORD_SERIALIZATION_TABLE_REVISION 0x01
1866
1867///
1868/// ERST Serialization Actions
1869///
1870#define EFI_ACPI_6_0_ERST_BEGIN_WRITE_OPERATION 0x00
1871#define EFI_ACPI_6_0_ERST_BEGIN_READ_OPERATION 0x01
1872#define EFI_ACPI_6_0_ERST_BEGIN_CLEAR_OPERATION 0x02
1873#define EFI_ACPI_6_0_ERST_END_OPERATION 0x03
1874#define EFI_ACPI_6_0_ERST_SET_RECORD_OFFSET 0x04
1875#define EFI_ACPI_6_0_ERST_EXECUTE_OPERATION 0x05
1876#define EFI_ACPI_6_0_ERST_CHECK_BUSY_STATUS 0x06
1877#define EFI_ACPI_6_0_ERST_GET_COMMAND_STATUS 0x07
1878#define EFI_ACPI_6_0_ERST_GET_RECORD_IDENTIFIER 0x08
1879#define EFI_ACPI_6_0_ERST_SET_RECORD_IDENTIFIER 0x09
1880#define EFI_ACPI_6_0_ERST_GET_RECORD_COUNT 0x0A
1881#define EFI_ACPI_6_0_ERST_BEGIN_DUMMY_WRITE_OPERATION 0x0B
1882#define EFI_ACPI_6_0_ERST_GET_ERROR_LOG_ADDRESS_RANGE 0x0D
1883#define EFI_ACPI_6_0_ERST_GET_ERROR_LOG_ADDRESS_RANGE_LENGTH 0x0E
1884#define EFI_ACPI_6_0_ERST_GET_ERROR_LOG_ADDRESS_RANGE_ATTRIBUTES 0x0F
1885
1886///
1887/// ERST Action Command Status
1888///
1889#define EFI_ACPI_6_0_ERST_STATUS_SUCCESS 0x00
1890#define EFI_ACPI_6_0_ERST_STATUS_NOT_ENOUGH_SPACE 0x01
1891#define EFI_ACPI_6_0_ERST_STATUS_HARDWARE_NOT_AVAILABLE 0x02
1892#define EFI_ACPI_6_0_ERST_STATUS_FAILED 0x03
1893#define EFI_ACPI_6_0_ERST_STATUS_RECORD_STORE_EMPTY 0x04
1894#define EFI_ACPI_6_0_ERST_STATUS_RECORD_NOT_FOUND 0x05
1895
1896///
1897/// ERST Serialization Instructions
1898///
1899#define EFI_ACPI_6_0_ERST_READ_REGISTER 0x00
1900#define EFI_ACPI_6_0_ERST_READ_REGISTER_VALUE 0x01
1901#define EFI_ACPI_6_0_ERST_WRITE_REGISTER 0x02
1902#define EFI_ACPI_6_0_ERST_WRITE_REGISTER_VALUE 0x03
1903#define EFI_ACPI_6_0_ERST_NOOP 0x04
1904#define EFI_ACPI_6_0_ERST_LOAD_VAR1 0x05
1905#define EFI_ACPI_6_0_ERST_LOAD_VAR2 0x06
1906#define EFI_ACPI_6_0_ERST_STORE_VAR1 0x07
1907#define EFI_ACPI_6_0_ERST_ADD 0x08
1908#define EFI_ACPI_6_0_ERST_SUBTRACT 0x09
1909#define EFI_ACPI_6_0_ERST_ADD_VALUE 0x0A
1910#define EFI_ACPI_6_0_ERST_SUBTRACT_VALUE 0x0B
1911#define EFI_ACPI_6_0_ERST_STALL 0x0C
1912#define EFI_ACPI_6_0_ERST_STALL_WHILE_TRUE 0x0D
1913#define EFI_ACPI_6_0_ERST_SKIP_NEXT_INSTRUCTION_IF_TRUE 0x0E
1914#define EFI_ACPI_6_0_ERST_GOTO 0x0F
1915#define EFI_ACPI_6_0_ERST_SET_SRC_ADDRESS_BASE 0x10
1916#define EFI_ACPI_6_0_ERST_SET_DST_ADDRESS_BASE 0x11
1917#define EFI_ACPI_6_0_ERST_MOVE_DATA 0x12
1918
1919///
1920/// ERST Instruction Flags
1921///
1922#define EFI_ACPI_6_0_ERST_PRESERVE_REGISTER 0x01
1923
1924///
1925/// ERST Serialization Instruction Entry
1926///
1936
1937///
1938/// EINJ - Error Injection Table
1939///
1947
1948///
1949/// EINJ Version (as defined in ACPI 6.0 spec.)
1950///
1951#define EFI_ACPI_6_0_ERROR_INJECTION_TABLE_REVISION 0x01
1952
1953///
1954/// EINJ Error Injection Actions
1955///
1956#define EFI_ACPI_6_0_EINJ_BEGIN_INJECTION_OPERATION 0x00
1957#define EFI_ACPI_6_0_EINJ_GET_TRIGGER_ERROR_ACTION_TABLE 0x01
1958#define EFI_ACPI_6_0_EINJ_SET_ERROR_TYPE 0x02
1959#define EFI_ACPI_6_0_EINJ_GET_ERROR_TYPE 0x03
1960#define EFI_ACPI_6_0_EINJ_END_OPERATION 0x04
1961#define EFI_ACPI_6_0_EINJ_EXECUTE_OPERATION 0x05
1962#define EFI_ACPI_6_0_EINJ_CHECK_BUSY_STATUS 0x06
1963#define EFI_ACPI_6_0_EINJ_GET_COMMAND_STATUS 0x07
1964#define EFI_ACPI_6_0_EINJ_SET_ERROR_TYPE_WITH_ADDRESS 0x08
1965#define EFI_ACPI_6_0_EINJ_TRIGGER_ERROR 0xFF
1966
1967///
1968/// EINJ Action Command Status
1969///
1970#define EFI_ACPI_6_0_EINJ_STATUS_SUCCESS 0x00
1971#define EFI_ACPI_6_0_EINJ_STATUS_UNKNOWN_FAILURE 0x01
1972#define EFI_ACPI_6_0_EINJ_STATUS_INVALID_ACCESS 0x02
1973
1974///
1975/// EINJ Error Type Definition
1976///
1977#define EFI_ACPI_6_0_EINJ_ERROR_PROCESSOR_CORRECTABLE (1 << 0)
1978#define EFI_ACPI_6_0_EINJ_ERROR_PROCESSOR_UNCORRECTABLE_NONFATAL (1 << 1)
1979#define EFI_ACPI_6_0_EINJ_ERROR_PROCESSOR_UNCORRECTABLE_FATAL (1 << 2)
1980#define EFI_ACPI_6_0_EINJ_ERROR_MEMORY_CORRECTABLE (1 << 3)
1981#define EFI_ACPI_6_0_EINJ_ERROR_MEMORY_UNCORRECTABLE_NONFATAL (1 << 4)
1982#define EFI_ACPI_6_0_EINJ_ERROR_MEMORY_UNCORRECTABLE_FATAL (1 << 5)
1983#define EFI_ACPI_6_0_EINJ_ERROR_PCI_EXPRESS_CORRECTABLE (1 << 6)
1984#define EFI_ACPI_6_0_EINJ_ERROR_PCI_EXPRESS_UNCORRECTABLE_NONFATAL (1 << 7)
1985#define EFI_ACPI_6_0_EINJ_ERROR_PCI_EXPRESS_UNCORRECTABLE_FATAL (1 << 8)
1986#define EFI_ACPI_6_0_EINJ_ERROR_PLATFORM_CORRECTABLE (1 << 9)
1987#define EFI_ACPI_6_0_EINJ_ERROR_PLATFORM_UNCORRECTABLE_NONFATAL (1 << 10)
1988#define EFI_ACPI_6_0_EINJ_ERROR_PLATFORM_UNCORRECTABLE_FATAL (1 << 11)
1989
1990///
1991/// EINJ Injection Instructions
1992///
1993#define EFI_ACPI_6_0_EINJ_READ_REGISTER 0x00
1994#define EFI_ACPI_6_0_EINJ_READ_REGISTER_VALUE 0x01
1995#define EFI_ACPI_6_0_EINJ_WRITE_REGISTER 0x02
1996#define EFI_ACPI_6_0_EINJ_WRITE_REGISTER_VALUE 0x03
1997#define EFI_ACPI_6_0_EINJ_NOOP 0x04
1998
1999///
2000/// EINJ Instruction Flags
2001///
2002#define EFI_ACPI_6_0_EINJ_PRESERVE_REGISTER 0x01
2003
2004///
2005/// EINJ Injection Instruction Entry
2006///
2016
2017///
2018/// EINJ Trigger Action Table
2019///
2026
2027///
2028/// Platform Communications Channel Table (PCCT)
2029///
2035
2036///
2037/// PCCT Version (as defined in ACPI 6.0 spec.)
2038///
2039#define EFI_ACPI_6_0_PLATFORM_COMMUNICATION_CHANNEL_TABLE_REVISION 0x01
2040
2041///
2042/// PCCT Global Flags
2043///
2044#define EFI_ACPI_6_0_PCCT_FLAGS_SCI_DOORBELL BIT0
2045
2046//
2047// PCCT Subspace type
2048//
2049#define EFI_ACPI_6_0_PCCT_SUBSPACE_TYPE_GENERIC 0x00
2050#define EFI_ACPI_6_0_PCCT_SUBSPACE_TYPE_1_HW_REDUCED_COMMUNICATIONS 0x01
2051#define EFI_ACPI_6_0_PCCT_SUBSPACE_TYPE_2_HW_REDUCED_COMMUNICATIONS 0x02
2052
2053///
2054/// PCC Subspace Structure Header
2055///
2060
2061///
2062/// Generic Communications Subspace Structure
2063///
2077
2078///
2079/// Generic Communications Channel Shared Memory Region
2080///
2081
2087
2096
2102
2103#define EFI_ACPI_6_0_PCCT_SUBSPACE_DOORBELL_INTERRUPT_FLAGS_POLARITY BIT0
2104#define EFI_ACPI_6_0_PCCT_SUBSPACE_DOORBELL_INTERRUPT_FLAGS_MODE BIT1
2105
2106///
2107/// Type 1 HW-Reduced Communications Subspace Structure
2108///
2124
2125///
2126/// Type 2 HW-Reduced Communications Subspace Structure
2127///
2146
2147//
2148// Known table signatures
2149//
2150
2151///
2152/// "RSD PTR " Root System Description Pointer
2153///
2154#define EFI_ACPI_6_0_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE SIGNATURE_64('R', 'S', 'D', ' ', 'P', 'T', 'R', ' ')
2155
2156///
2157/// "APIC" Multiple APIC Description Table
2158///
2159#define EFI_ACPI_6_0_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('A', 'P', 'I', 'C')
2160
2161///
2162/// "BERT" Boot Error Record Table
2163///
2164#define EFI_ACPI_6_0_BOOT_ERROR_RECORD_TABLE_SIGNATURE SIGNATURE_32('B', 'E', 'R', 'T')
2165
2166///
2167/// "BGRT" Boot Graphics Resource Table
2168///
2169#define EFI_ACPI_6_0_BOOT_GRAPHICS_RESOURCE_TABLE_SIGNATURE SIGNATURE_32('B', 'G', 'R', 'T')
2170
2171///
2172/// "CPEP" Corrected Platform Error Polling Table
2173///
2174#define EFI_ACPI_6_0_CORRECTED_PLATFORM_ERROR_POLLING_TABLE_SIGNATURE SIGNATURE_32('C', 'P', 'E', 'P')
2175
2176///
2177/// "DSDT" Differentiated System Description Table
2178///
2179#define EFI_ACPI_6_0_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('D', 'S', 'D', 'T')
2180
2181///
2182/// "ECDT" Embedded Controller Boot Resources Table
2183///
2184#define EFI_ACPI_6_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_SIGNATURE SIGNATURE_32('E', 'C', 'D', 'T')
2185
2186///
2187/// "EINJ" Error Injection Table
2188///
2189#define EFI_ACPI_6_0_ERROR_INJECTION_TABLE_SIGNATURE SIGNATURE_32('E', 'I', 'N', 'J')
2190
2191///
2192/// "ERST" Error Record Serialization Table
2193///
2194#define EFI_ACPI_6_0_ERROR_RECORD_SERIALIZATION_TABLE_SIGNATURE SIGNATURE_32('E', 'R', 'S', 'T')
2195
2196///
2197/// "FACP" Fixed ACPI Description Table
2198///
2199#define EFI_ACPI_6_0_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('F', 'A', 'C', 'P')
2200
2201///
2202/// "FACS" Firmware ACPI Control Structure
2203///
2204#define EFI_ACPI_6_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE SIGNATURE_32('F', 'A', 'C', 'S')
2205
2206///
2207/// "FPDT" Firmware Performance Data Table
2208///
2209#define EFI_ACPI_6_0_FIRMWARE_PERFORMANCE_DATA_TABLE_SIGNATURE SIGNATURE_32('F', 'P', 'D', 'T')
2210
2211///
2212/// "GTDT" Generic Timer Description Table
2213///
2214#define EFI_ACPI_6_0_GENERIC_TIMER_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('G', 'T', 'D', 'T')
2215
2216///
2217/// "HEST" Hardware Error Source Table
2218///
2219#define EFI_ACPI_6_0_HARDWARE_ERROR_SOURCE_TABLE_SIGNATURE SIGNATURE_32('H', 'E', 'S', 'T')
2220
2221///
2222/// "MPST" Memory Power State Table
2223///
2224#define EFI_ACPI_6_0_MEMORY_POWER_STATE_TABLE_SIGNATURE SIGNATURE_32('M', 'P', 'S', 'T')
2225
2226///
2227/// "MSCT" Maximum System Characteristics Table
2228///
2229#define EFI_ACPI_6_0_MAXIMUM_SYSTEM_CHARACTERISTICS_TABLE_SIGNATURE SIGNATURE_32('M', 'S', 'C', 'T')
2230
2231///
2232/// "NFIT" NVDIMM Firmware Interface Table
2233///
2234#define EFI_ACPI_6_0_NVDIMM_FIRMWARE_INTERFACE_TABLE_STRUCTURE_SIGNATURE SIGNATURE_32('N', 'F', 'I', 'T')
2235
2236///
2237/// "PMTT" Platform Memory Topology Table
2238///
2239#define EFI_ACPI_6_0_PLATFORM_MEMORY_TOPOLOGY_TABLE_SIGNATURE SIGNATURE_32('P', 'M', 'T', 'T')
2240
2241///
2242/// "PSDT" Persistent System Description Table
2243///
2244#define EFI_ACPI_6_0_PERSISTENT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('P', 'S', 'D', 'T')
2245
2246///
2247/// "RASF" ACPI RAS Feature Table
2248///
2249#define EFI_ACPI_6_0_ACPI_RAS_FEATURE_TABLE_SIGNATURE SIGNATURE_32('R', 'A', 'S', 'F')
2250
2251///
2252/// "RSDT" Root System Description Table
2253///
2254#define EFI_ACPI_6_0_ROOT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('R', 'S', 'D', 'T')
2255
2256///
2257/// "SBST" Smart Battery Specification Table
2258///
2259#define EFI_ACPI_6_0_SMART_BATTERY_SPECIFICATION_TABLE_SIGNATURE SIGNATURE_32('S', 'B', 'S', 'T')
2260
2261///
2262/// "SLIT" System Locality Information Table
2263///
2264#define EFI_ACPI_6_0_SYSTEM_LOCALITY_INFORMATION_TABLE_SIGNATURE SIGNATURE_32('S', 'L', 'I', 'T')
2265
2266///
2267/// "SRAT" System Resource Affinity Table
2268///
2269#define EFI_ACPI_6_0_SYSTEM_RESOURCE_AFFINITY_TABLE_SIGNATURE SIGNATURE_32('S', 'R', 'A', 'T')
2270
2271///
2272/// "SSDT" Secondary System Description Table
2273///
2274#define EFI_ACPI_6_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('S', 'S', 'D', 'T')
2275
2276///
2277/// "XSDT" Extended System Description Table
2278///
2279#define EFI_ACPI_6_0_EXTENDED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('X', 'S', 'D', 'T')
2280
2281///
2282/// "BOOT" MS Simple Boot Spec
2283///
2284#define EFI_ACPI_6_0_SIMPLE_BOOT_FLAG_TABLE_SIGNATURE SIGNATURE_32('B', 'O', 'O', 'T')
2285
2286///
2287/// "CSRT" MS Core System Resource Table
2288///
2289#define EFI_ACPI_6_0_CORE_SYSTEM_RESOURCE_TABLE_SIGNATURE SIGNATURE_32('C', 'S', 'R', 'T')
2290
2291///
2292/// "DBG2" MS Debug Port 2 Spec
2293///
2294#define EFI_ACPI_6_0_DEBUG_PORT_2_TABLE_SIGNATURE SIGNATURE_32('D', 'B', 'G', '2')
2295
2296///
2297/// "DBGP" MS Debug Port Spec
2298///
2299#define EFI_ACPI_6_0_DEBUG_PORT_TABLE_SIGNATURE SIGNATURE_32('D', 'B', 'G', 'P')
2300
2301///
2302/// "DMAR" DMA Remapping Table
2303///
2304#define EFI_ACPI_6_0_DMA_REMAPPING_TABLE_SIGNATURE SIGNATURE_32('D', 'M', 'A', 'R')
2305
2306///
2307/// "DRTM" Dynamic Root of Trust for Measurement Table
2308///
2309#define EFI_ACPI_6_0_DYNAMIC_ROOT_OF_TRUST_FOR_MEASUREMENT_TABLE_SIGNATURE SIGNATURE_32('D', 'R', 'T', 'M')
2310
2311///
2312/// "ETDT" Event Timer Description Table
2313///
2314#define EFI_ACPI_6_0_EVENT_TIMER_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('E', 'T', 'D', 'T')
2315
2316///
2317/// "HPET" IA-PC High Precision Event Timer Table
2318///
2319#define EFI_ACPI_6_0_HIGH_PRECISION_EVENT_TIMER_TABLE_SIGNATURE SIGNATURE_32('H', 'P', 'E', 'T')
2320
2321///
2322/// "iBFT" iSCSI Boot Firmware Table
2323///
2324#define EFI_ACPI_6_0_ISCSI_BOOT_FIRMWARE_TABLE_SIGNATURE SIGNATURE_32('i', 'B', 'F', 'T')
2325
2326///
2327/// "IORT" I/O Remapping Table
2328///
2329#define EFI_ACPI_6_0_IO_REMAPPING_TABLE_SIGNATURE SIGNATURE_32('I', 'O', 'R', 'T')
2330
2331///
2332/// "IVRS" I/O Virtualization Reporting Structure
2333///
2334#define EFI_ACPI_6_0_IO_VIRTUALIZATION_REPORTING_STRUCTURE_SIGNATURE SIGNATURE_32('I', 'V', 'R', 'S')
2335
2336///
2337/// "LPIT" Low Power Idle Table
2338///
2339#define EFI_ACPI_6_0_LOW_POWER_IDLE_TABLE_STRUCTURE_SIGNATURE SIGNATURE_32('L', 'P', 'I', 'T')
2340
2341///
2342/// "MCFG" PCI Express Memory Mapped Configuration Space Base Address Description Table
2343///
2344#define EFI_ACPI_6_0_PCI_EXPRESS_MEMORY_MAPPED_CONFIGURATION_SPACE_BASE_ADDRESS_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('M', 'C', 'F', 'G')
2345
2346///
2347/// "MCHI" Management Controller Host Interface Table
2348///
2349#define EFI_ACPI_6_0_MANAGEMENT_CONTROLLER_HOST_INTERFACE_TABLE_SIGNATURE SIGNATURE_32('M', 'C', 'H', 'I')
2350
2351///
2352/// "MSDM" MS Data Management Table
2353///
2354#define EFI_ACPI_6_0_DATA_MANAGEMENT_TABLE_SIGNATURE SIGNATURE_32('M', 'S', 'D', 'M')
2355
2356///
2357/// "PCCT" Platform Communications Channel Table
2358///
2359#define EFI_ACPI_6_0_PLATFORM_COMMUNICATIONS_CHANNEL_TABLE_SIGNATURE SIGNATURE_32('P', 'C', 'C', 'T')
2360
2361///
2362/// "SLIC" MS Software Licensing Table Specification
2363///
2364#define EFI_ACPI_6_0_SOFTWARE_LICENSING_TABLE_SIGNATURE SIGNATURE_32('S', 'L', 'I', 'C')
2365
2366///
2367/// "SPCR" Serial Port Console Redirection Table
2368///
2369#define EFI_ACPI_6_0_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'C', 'R')
2370
2371///
2372/// "SPMI" Server Platform Management Interface Table
2373///
2374#define EFI_ACPI_6_0_SERVER_PLATFORM_MANAGEMENT_INTERFACE_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'M', 'I')
2375
2376///
2377/// "STAO" _STA Override Table
2378///
2379#define EFI_ACPI_6_0_STA_OVERRIDE_TABLE_SIGNATURE SIGNATURE_32('S', 'T', 'A', 'O')
2380
2381///
2382/// "TCPA" Trusted Computing Platform Alliance Capabilities Table
2383///
2384#define EFI_ACPI_6_0_TRUSTED_COMPUTING_PLATFORM_ALLIANCE_CAPABILITIES_TABLE_SIGNATURE SIGNATURE_32('T', 'C', 'P', 'A')
2385
2386///
2387/// "TPM2" Trusted Computing Platform 1 Table
2388///
2389#define EFI_ACPI_6_0_TRUSTED_COMPUTING_PLATFORM_2_TABLE_SIGNATURE SIGNATURE_32('T', 'P', 'M', '2')
2390
2391///
2392/// "UEFI" UEFI ACPI Data Table
2393///
2394#define EFI_ACPI_6_0_UEFI_ACPI_DATA_TABLE_SIGNATURE SIGNATURE_32('U', 'E', 'F', 'I')
2395
2396///
2397/// "WAET" Windows ACPI Emulated Devices Table
2398///
2399#define EFI_ACPI_6_0_WINDOWS_ACPI_EMULATED_DEVICES_TABLE_SIGNATURE SIGNATURE_32('W', 'A', 'E', 'T')
2400
2401///
2402/// "WDAT" Watchdog Action Table
2403///
2404#define EFI_ACPI_6_0_WATCHDOG_ACTION_TABLE_SIGNATURE SIGNATURE_32('W', 'D', 'A', 'T')
2405
2406///
2407/// "WDRT" Watchdog Resource Table
2408///
2409#define EFI_ACPI_6_0_WATCHDOG_RESOURCE_TABLE_SIGNATURE SIGNATURE_32('W', 'D', 'R', 'T')
2410
2411///
2412/// "WPBT" MS Platform Binary Table
2413///
2414#define EFI_ACPI_6_0_PLATFORM_BINARY_TABLE_SIGNATURE SIGNATURE_32('W', 'P', 'B', 'T')
2415
2416///
2417/// "XENV" Xen Project Table
2418///
2419#define EFI_ACPI_6_0_XEN_PROJECT_TABLE_SIGNATURE SIGNATURE_32('X', 'E', 'N', 'V')
2420
2421#pragma pack()
2422
2423#endif
unsigned short UINT16
2-byte unsigned value.
unsigned long long UINT64
8-byte unsigned value.
unsigned char UINT8
1-byte unsigned value.
unsigned int UINT32
4-byte unsigned value.
ACPI 5.1 definitions from the ACPI Specification Revision 5.1 Errata B January, 2016.
#define FILE_LICENCE(_licence)
Declare a particular licence as applying to a file.
Definition compiler.h:896
#define FILE_SECBOOT(_status)
Declare a file's UEFI Secure Boot permission status.
Definition compiler.h:926
Boot Error Record Table (BERT)
Definition Acpi60.h:1550
EFI_ACPI_DESCRIPTION_HEADER Header
Definition Acpi60.h:1551
Boot Error Region Definition.
Definition Acpi60.h:1576
EFI_ACPI_6_0_ERROR_BLOCK_STATUS BlockStatus
Definition Acpi60.h:1577
Boot Graphics Resource Table definition.
Definition Acpi60.h:1038
UINT32 ImageOffsetY
A 4-byte (32-bit) unsigned long describing the display Y-offset of the boot image.
Definition Acpi60.h:1072
UINT64 ImageAddress
8-byte (64 bit) physical address pointing to the firmware's in-memory copy of the image bitmap.
Definition Acpi60.h:1060
UINT32 ImageOffsetX
A 4-byte (32-bit) unsigned long describing the display X-offset of the boot image.
Definition Acpi60.h:1066
EFI_ACPI_DESCRIPTION_HEADER Header
Definition Acpi60.h:1039
UINT16 Version
2-bytes (16 bit) version ID.
Definition Acpi60.h:1043
UINT8 Status
1-byte status field indicating current status about the table.
Definition Acpi60.h:1049
UINT8 ImageType
1-byte enumerated type field indicating format of the image.
Definition Acpi60.h:1055
Common table header, this prefaces all ACPI tables, including FACS, but excluding the RSD PTR structu...
Definition Acpi60.h:103
Corrected Platform Error Polling Table (CPEP)
Definition Acpi60.h:758
Corrected Platform Error Polling Processor Structure Definition.
Definition Acpi60.h:776
EINJ Injection Instruction Entry.
Definition Acpi60.h:2007
UINT8 Reserved0
Definition Acpi60.h:2011
UINT64 Mask
Definition Acpi60.h:2014
EFI_ACPI_6_0_GENERIC_ADDRESS_STRUCTURE RegisterRegion
Definition Acpi60.h:2012
UINT8 InjectionAction
Definition Acpi60.h:2008
UINT8 Instruction
Definition Acpi60.h:2009
UINT64 Value
Definition Acpi60.h:2013
UINT8 Flags
Definition Acpi60.h:2010
EINJ Trigger Action Table.
Definition Acpi60.h:2020
Embedded Controller Boot Resources Table (ECDT) The table is followed by a null terminated ASCII stri...
Definition Acpi60.h:629
EFI_ACPI_6_0_GENERIC_ADDRESS_STRUCTURE EcControl
Definition Acpi60.h:631
EFI_ACPI_6_0_GENERIC_ADDRESS_STRUCTURE EcData
Definition Acpi60.h:632
Boot Error Region Block Status Definition.
Definition Acpi60.h:1564
EINJ - Error Injection Table.
Definition Acpi60.h:1940
EFI_ACPI_DESCRIPTION_HEADER Header
Definition Acpi60.h:1941
ERST - Error Record Serialization Table.
Definition Acpi60.h:1855
ERST Serialization Instruction Entry.
Definition Acpi60.h:1927
UINT64 Mask
Definition Acpi60.h:1934
UINT8 SerializationAction
Definition Acpi60.h:1928
UINT8 Flags
Definition Acpi60.h:1930
UINT8 Instruction
Definition Acpi60.h:1929
UINT64 Value
Definition Acpi60.h:1933
EFI_ACPI_6_0_GENERIC_ADDRESS_STRUCTURE RegisterRegion
Definition Acpi60.h:1932
UINT8 Reserved0
Definition Acpi60.h:1931
Firmware ACPI Control Structure.
Definition Acpi60.h:259
Firmware Performance Record Table definition.
Definition Acpi60.h:1277
EFI_ACPI_DESCRIPTION_HEADER Header
Definition Acpi60.h:1278
Fixed ACPI Description Table Structure (FADT)
Definition Acpi60.h:133
EFI_ACPI_6_0_GENERIC_ADDRESS_STRUCTURE XGpe0Blk
Definition Acpi60.h:185
EFI_ACPI_6_0_GENERIC_ADDRESS_STRUCTURE XPm2CntBlk
Definition Acpi60.h:183
EFI_ACPI_6_0_GENERIC_ADDRESS_STRUCTURE SleepStatusReg
Definition Acpi60.h:188
EFI_ACPI_6_0_GENERIC_ADDRESS_STRUCTURE XPm1aEvtBlk
Definition Acpi60.h:179
EFI_ACPI_6_0_GENERIC_ADDRESS_STRUCTURE XPm1aCntBlk
Definition Acpi60.h:181
EFI_ACPI_DESCRIPTION_HEADER Header
Definition Acpi60.h:134
EFI_ACPI_6_0_GENERIC_ADDRESS_STRUCTURE XPm1bEvtBlk
Definition Acpi60.h:180
EFI_ACPI_6_0_GENERIC_ADDRESS_STRUCTURE XGpe1Blk
Definition Acpi60.h:186
EFI_ACPI_6_0_GENERIC_ADDRESS_STRUCTURE ResetReg
Definition Acpi60.h:173
EFI_ACPI_6_0_GENERIC_ADDRESS_STRUCTURE XPmTmrBlk
Definition Acpi60.h:184
EFI_ACPI_6_0_GENERIC_ADDRESS_STRUCTURE XPm1bCntBlk
Definition Acpi60.h:182
EFI_ACPI_6_0_GENERIC_ADDRESS_STRUCTURE SleepControlReg
Definition Acpi60.h:187
FPDT Firmware Basic Boot Performance Pointer Record Structure.
Definition Acpi60.h:1147
EFI_ACPI_6_0_FPDT_PERFORMANCE_RECORD_HEADER Header
Definition Acpi60.h:1148
UINT64 BootPerformanceTablePointer
64-bit processor-relative physical address of the Basic Boot Performance Table.
Definition Acpi60.h:1153
FPDT Firmware Basic Boot Performance Record Structure.
Definition Acpi60.h:1171
EFI_ACPI_6_0_FPDT_PERFORMANCE_RECORD_HEADER Header
Definition Acpi60.h:1172
UINT64 ExitBootServicesEntry
Timer value logged at the point when the OS loader calls the ExitBootServices function for UEFI compa...
Definition Acpi60.h:1195
UINT64 OsLoaderStartImageStart
Timer value logged just prior to launching the previously loaded OS boot loader image.
Definition Acpi60.h:1189
UINT64 OsLoaderLoadImageStart
Timer value logged just prior to loading the OS boot loader into memory.
Definition Acpi60.h:1183
UINT64 ResetEnd
Timer value logged at the beginning of firmware image execution.
Definition Acpi60.h:1178
UINT64 ExitBootServicesExit
Timer value logged at the point just prior to when the OS loader gaining control back from calls the ...
Definition Acpi60.h:1201
EFI_ACPI_6_0_FPDT_PERFORMANCE_TABLE_HEADER Header
Definition Acpi60.h:1213
EFI_ACPI_6_0_FPDT_PERFORMANCE_TABLE_HEADER Header
Definition Acpi60.h:1228
FPDT Performance Record header.
Definition Acpi60.h:1130
FPDT Performance Table header.
Definition Acpi60.h:1139
FPDT S3 Performance Table Pointer Record Structure.
Definition Acpi60.h:1159
EFI_ACPI_6_0_FPDT_PERFORMANCE_RECORD_HEADER Header
Definition Acpi60.h:1160
UINT64 S3PerformanceTablePointer
64-bit processor-relative physical address of the S3 Performance Table.
Definition Acpi60.h:1165
FPDT Basic S3 Resume Performance Record.
Definition Acpi60.h:1237
UINT32 ResumeCount
A count of the number of S3 resume cycles since the last full boot sequence.
Definition Acpi60.h:1242
UINT64 FullResume
Timer recorded at the end of BIOS S3 resume, just prior to handoff to the OS waking vector.
Definition Acpi60.h:1247
UINT64 AverageResume
Average timer value of all resume cycles logged since the last full boot sequence,...
Definition Acpi60.h:1253
EFI_ACPI_6_0_FPDT_PERFORMANCE_RECORD_HEADER Header
Definition Acpi60.h:1238
FPDT Basic S3 Suspend Performance Record.
Definition Acpi60.h:1259
UINT64 SuspendStart
Timer value recorded at the OS write to SLP_TYP upon entry to S3.
Definition Acpi60.h:1265
EFI_ACPI_6_0_FPDT_PERFORMANCE_RECORD_HEADER Header
Definition Acpi60.h:1260
UINT64 SuspendEnd
Timer value recorded at the final firmware write to SLP_TYP (or other mechanism) used to trigger hard...
Definition Acpi60.h:1271
ACPI 6.0 Generic Address Space definition.
Definition Acpi60.h:47
Generic Error Data Entry Definition.
Definition Acpi60.h:1601
UINT32 ErrorSeverity
Definition Acpi60.h:1603
UINT8 Flags
Definition Acpi60.h:1606
UINT8 SectionType[16]
Definition Acpi60.h:1602
UINT8 FruId[16]
Definition Acpi60.h:1608
UINT16 Revision
Definition Acpi60.h:1604
UINT32 ErrorDataLength
Definition Acpi60.h:1607
UINT8 FruText[20]
Definition Acpi60.h:1609
UINT8 ValidationBits
Definition Acpi60.h:1605
Generic Error Status Definition.
Definition Acpi60.h:1844
EFI_ACPI_6_0_ERROR_BLOCK_STATUS BlockStatus
Definition Acpi60.h:1845
Generic Hardware Error Source Structure Definition.
Definition Acpi60.h:1827
EFI_ACPI_6_0_GENERIC_ADDRESS_STRUCTURE ErrorStatusAddress
Definition Acpi60.h:1836
EFI_ACPI_6_0_HARDWARE_ERROR_NOTIFICATION_STRUCTURE NotificationStructure
Definition Acpi60.h:1837
Generic Timer Description Table definition.
Definition Acpi60.h:1284
EFI_ACPI_DESCRIPTION_HEADER Header
Definition Acpi60.h:1285
GICC Affinity Structure Definition.
Definition Acpi60.h:727
GICR Structure.
Definition Acpi60.h:589
GIC Distributor Structure.
Definition Acpi60.h:548
GIC Interrupt Translation Service Structure.
Definition Acpi60.h:600
GIC MSI Frame Structure.
Definition Acpi60.h:570
UINT8 ProcessorPowerEfficiencyClass
Definition Acpi60.h:534
SBSA Generic Watchdog Structure.
Definition Acpi60.h:1361
Hardware Error Notification Configuration Write Enable Structure Definition.
Definition Acpi60.h:1701
Hardware Error Notification Structure Definition.
Definition Acpi60.h:1714
EFI_ACPI_6_0_HARDWARE_ERROR_NOTIFICATION_CONFIGURATION_WRITE_ENABLE_STRUCTURE ConfigurationWriteEnable
Definition Acpi60.h:1717
HEST - Hardware Error Source Table.
Definition Acpi60.h:1620
IA-32 Architecture Corrected Machine Check Structure Definition.
Definition Acpi60.h:1729
EFI_ACPI_6_0_HARDWARE_ERROR_NOTIFICATION_STRUCTURE NotificationStructure
Definition Acpi60.h:1737
IA-32 Architecture Machine Check Bank Structure Definition.
Definition Acpi60.h:1667
IA-32 Architecture Machine Check Exception Structure Definition.
Definition Acpi60.h:1650
IA-32 Architecture NMI Error Structure Definition.
Definition Acpi60.h:1745
Interrupt Source Override Structure.
Definition Acpi60.h:379
IO APIC Structure.
Definition Acpi60.h:367
IO SAPIC Structure.
Definition Acpi60.h:446
Local APIC Address Override Structure.
Definition Acpi60.h:436
Local APIC NMI Structure.
Definition Acpi60.h:425
Local x2APIC NMI Structure.
Definition Acpi60.h:506
Maximum Proximity Domain Information Structure Definition.
Definition Acpi60.h:803
Maximum System Characteristics Table (MSCT)
Definition Acpi60.h:787
Memory Affinity Structure Definition.
Definition Acpi60.h:689
Memory Power State Table definition.
Definition Acpi60.h:874
EFI_ACPI_DESCRIPTION_HEADER Header
Definition Acpi60.h:875
Memory Topology Table definition.
Definition Acpi60.h:969
EFI_ACPI_DESCRIPTION_HEADER Header
Definition Acpi60.h:970
MPST Memory Power State Characteristics Table.
Definition Acpi60.h:948
MPST Memory Power Node Table.
Definition Acpi60.h:918
MPST Platform Communication Channel Shared Memory Region definition.
Definition Acpi60.h:890
Multiple APIC Description Table header definition.
Definition Acpi60.h:305
EFI_ACPI_6_0_NFIT_DEVICE_HANDLE NFITDeviceHandle
Definition Acpi60.h:1541
Non-Maskable Interrupt Source Structure.
Definition Acpi60.h:415
EFI_ACPI_DESCRIPTION_HEADER Header
Definition Acpi60.h:1382
Generic Communications Channel Shared Memory Region.
Definition Acpi60.h:2082
EFI_ACPI_6_0_PCCT_GENERIC_SHARED_MEMORY_REGION_STATUS Status
Definition Acpi60.h:2100
EFI_ACPI_6_0_PCCT_GENERIC_SHARED_MEMORY_REGION_COMMAND Command
Definition Acpi60.h:2099
Type 1 HW-Reduced Communications Subspace Structure.
Definition Acpi60.h:2109
EFI_ACPI_6_0_GENERIC_ADDRESS_STRUCTURE DoorbellRegister
Definition Acpi60.h:2117
Type 2 HW-Reduced Communications Subspace Structure.
Definition Acpi60.h:2128
EFI_ACPI_6_0_GENERIC_ADDRESS_STRUCTURE DoorbellAckRegister
Definition Acpi60.h:2142
EFI_ACPI_6_0_GENERIC_ADDRESS_STRUCTURE DoorbellRegister
Definition Acpi60.h:2136
Generic Communications Subspace Structure.
Definition Acpi60.h:2064
EFI_ACPI_6_0_GENERIC_ADDRESS_STRUCTURE DoorbellRegister
Definition Acpi60.h:2070
PCC Subspace Structure Header.
Definition Acpi60.h:2056
PCI Express Bridge AER Structure Definition.
Definition Acpi60.h:1802
PCI Express Device AER Structure Definition.
Definition Acpi60.h:1780
PCI Express Root Port AER Structure Definition.
Definition Acpi60.h:1757
Platform Communications Channel Table (PCCT)
Definition Acpi60.h:2030
Platform Interrupt Sources Structure Definition.
Definition Acpi60.h:391
Platform Interrupt Sources Structure.
Definition Acpi60.h:473
Common Memory Aggregator Device Structure.
Definition Acpi60.h:982
DIMM Memory Aggregator Device Structure.
Definition Acpi60.h:1027
EFI_ACPI_6_0_PMMT_COMMON_MEMORY_AGGREGATOR_DEVICE_STRUCTURE Header
Definition Acpi60.h:1028
MemoryController Memory Aggregator Device Structure.
Definition Acpi60.h:1010
EFI_ACPI_6_0_PMMT_COMMON_MEMORY_AGGREGATOR_DEVICE_STRUCTURE Header
Definition Acpi60.h:1011
Socket Memory Aggregator Device Structure.
Definition Acpi60.h:1000
EFI_ACPI_6_0_PMMT_COMMON_MEMORY_AGGREGATOR_DEVICE_STRUCTURE Header
Definition Acpi60.h:1001
Processor Local APIC/SAPIC Affinity Structure Definition.
Definition Acpi60.h:670
Processor Local APIC Structure Definition.
Definition Acpi60.h:351
Local SAPIC Structure This struct followed by a null-terminated ASCII string - ACPI Processor UID Str...
Definition Acpi60.h:459
Processor Local x2APIC Affinity Structure Definition.
Definition Acpi60.h:713
Processor Local x2APIC Structure Definition.
Definition Acpi60.h:494
ACPI RASF Parameter Block structure for PATROL_SCRUB.
Definition Acpi60.h:853
ACPI RASF Platform Communication Channel Shared Memory Region definition.
Definition Acpi60.h:828
ACPI RAS Feature Table definition.
Definition Acpi60.h:815
EFI_ACPI_DESCRIPTION_HEADER Header
Definition Acpi60.h:816
UINT8 PlatformCommunicationChannelIdentifier[12]
Definition Acpi60.h:817
Root System Description Pointer Structure.
Definition Acpi60.h:82
Smart Battery Description Table (SBST)
Definition Acpi60.h:612
EFI_ACPI_DESCRIPTION_HEADER Header
Definition Acpi60.h:613
System Locality Distance Information Table (SLIT).
Definition Acpi60.h:745
System Resource Affinity Table (SRAT).
Definition Acpi60.h:646
The common ACPI description table header.
Definition Acpi10.h:30
128 bit buffer containing a unique identifier value.
Definition Base.h:216