iPXE
Acpi51.h
Go to the documentation of this file.
1 /** @file
2  ACPI 5.1 definitions from the ACPI Specification Revision 5.1 Errata B January, 2016.
3 
4  Copyright (c) 2014 Hewlett-Packard Development Company, L.P.<BR>
5  Copyright (c) 2014 - 2022, Intel Corporation. All rights reserved.<BR>
6  (C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>
7  Copyright (c) 2020, ARM Ltd. All rights reserved.<BR>
8  SPDX-License-Identifier: BSD-2-Clause-Patent
9 **/
10 
11 #ifndef _ACPI_5_1_H_
12 #define _ACPI_5_1_H_
13 
14 FILE_LICENCE ( BSD2_PATENT );
15 
17 
18 ///
19 /// _PSD Revision for ACPI 5.1
20 ///
21 #define EFI_ACPI_5_1_AML_PSD_REVISION 0
22 
23 ///
24 /// _CPC Revision for ACPI 5.1
25 ///
26 #define EFI_ACPI_5_1_AML_CPC_REVISION 2
27 
28 //
29 // Ensure proper structure formats
30 //
31 #pragma pack(1)
32 
33 ///
34 /// ACPI 5.1 Generic Address Space definition
35 ///
36 typedef struct {
43 
44 //
45 // Generic Address Space Address IDs
46 //
47 #define EFI_ACPI_5_1_SYSTEM_MEMORY 0
48 #define EFI_ACPI_5_1_SYSTEM_IO 1
49 #define EFI_ACPI_5_1_PCI_CONFIGURATION_SPACE 2
50 #define EFI_ACPI_5_1_EMBEDDED_CONTROLLER 3
51 #define EFI_ACPI_5_1_SMBUS 4
52 #define EFI_ACPI_5_1_PLATFORM_COMMUNICATION_CHANNEL 0x0A
53 #define EFI_ACPI_5_1_FUNCTIONAL_FIXED_HARDWARE 0x7F
54 
55 //
56 // Generic Address Space Access Sizes
57 //
58 #define EFI_ACPI_5_1_UNDEFINED 0
59 #define EFI_ACPI_5_1_BYTE 1
60 #define EFI_ACPI_5_1_WORD 2
61 #define EFI_ACPI_5_1_DWORD 3
62 #define EFI_ACPI_5_1_QWORD 4
63 
64 //
65 // ACPI 5.1 table structures
66 //
67 
68 ///
69 /// Root System Description Pointer Structure
70 ///
71 typedef struct {
74  UINT8 OemId[6];
82 
83 ///
84 /// RSD_PTR Revision (as defined in ACPI 5.1 spec.)
85 ///
86 #define EFI_ACPI_5_1_ROOT_SYSTEM_DESCRIPTION_POINTER_REVISION 0x02 ///< ACPISpec (Revision 5.1) says current value is 2
87 
88 ///
89 /// Common table header, this prefaces all ACPI tables, including FACS, but
90 /// excluding the RSD PTR structure
91 ///
92 typedef struct {
96 
97 //
98 // Root System Description Table
99 // No definition needed as it is a common description table header, the same with
100 // EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT32 table pointers.
101 //
102 
103 ///
104 /// RSDT Revision (as defined in ACPI 5.1 spec.)
105 ///
106 #define EFI_ACPI_5_1_ROOT_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01
107 
108 //
109 // Extended 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 UINT64 table pointers.
112 //
113 
114 ///
115 /// XSDT Revision (as defined in ACPI 5.1 spec.)
116 ///
117 #define EFI_ACPI_5_1_EXTENDED_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01
118 
119 ///
120 /// Fixed ACPI Description Table Structure (FADT)
121 ///
122 typedef struct {
179 
180 ///
181 /// FADT Version (as defined in ACPI 5.1 spec.)
182 ///
183 #define EFI_ACPI_5_1_FIXED_ACPI_DESCRIPTION_TABLE_REVISION 0x05
184 #define EFI_ACPI_5_1_FIXED_ACPI_DESCRIPTION_TABLE_MINOR_REVISION 0x01
185 
186 //
187 // Fixed ACPI Description Table Preferred Power Management Profile
188 //
189 #define EFI_ACPI_5_1_PM_PROFILE_UNSPECIFIED 0
190 #define EFI_ACPI_5_1_PM_PROFILE_DESKTOP 1
191 #define EFI_ACPI_5_1_PM_PROFILE_MOBILE 2
192 #define EFI_ACPI_5_1_PM_PROFILE_WORKSTATION 3
193 #define EFI_ACPI_5_1_PM_PROFILE_ENTERPRISE_SERVER 4
194 #define EFI_ACPI_5_1_PM_PROFILE_SOHO_SERVER 5
195 #define EFI_ACPI_5_1_PM_PROFILE_APPLIANCE_PC 6
196 #define EFI_ACPI_5_1_PM_PROFILE_PERFORMANCE_SERVER 7
197 #define EFI_ACPI_5_1_PM_PROFILE_TABLET 8
198 
199 //
200 // Fixed ACPI Description Table Boot Architecture Flags
201 // All other bits are reserved and must be set to 0.
202 //
203 #define EFI_ACPI_5_1_LEGACY_DEVICES BIT0
204 #define EFI_ACPI_5_1_8042 BIT1
205 #define EFI_ACPI_5_1_VGA_NOT_PRESENT BIT2
206 #define EFI_ACPI_5_1_MSI_NOT_SUPPORTED BIT3
207 #define EFI_ACPI_5_1_PCIE_ASPM_CONTROLS BIT4
208 #define EFI_ACPI_5_1_CMOS_RTC_NOT_PRESENT BIT5
209 
210 //
211 // Fixed ACPI Description Table Arm Boot Architecture Flags
212 // All other bits are reserved and must be set to 0.
213 //
214 #define EFI_ACPI_5_1_ARM_PSCI_COMPLIANT BIT0
215 #define EFI_ACPI_5_1_ARM_PSCI_USE_HVC BIT1
216 
217 //
218 // Fixed ACPI Description Table Fixed Feature Flags
219 // All other bits are reserved and must be set to 0.
220 //
221 #define EFI_ACPI_5_1_WBINVD BIT0
222 #define EFI_ACPI_5_1_WBINVD_FLUSH BIT1
223 #define EFI_ACPI_5_1_PROC_C1 BIT2
224 #define EFI_ACPI_5_1_P_LVL2_UP BIT3
225 #define EFI_ACPI_5_1_PWR_BUTTON BIT4
226 #define EFI_ACPI_5_1_SLP_BUTTON BIT5
227 #define EFI_ACPI_5_1_FIX_RTC BIT6
228 #define EFI_ACPI_5_1_RTC_S4 BIT7
229 #define EFI_ACPI_5_1_TMR_VAL_EXT BIT8
230 #define EFI_ACPI_5_1_DCK_CAP BIT9
231 #define EFI_ACPI_5_1_RESET_REG_SUP BIT10
232 #define EFI_ACPI_5_1_SEALED_CASE BIT11
233 #define EFI_ACPI_5_1_HEADLESS BIT12
234 #define EFI_ACPI_5_1_CPU_SW_SLP BIT13
235 #define EFI_ACPI_5_1_PCI_EXP_WAK BIT14
236 #define EFI_ACPI_5_1_USE_PLATFORM_CLOCK BIT15
237 #define EFI_ACPI_5_1_S4_RTC_STS_VALID BIT16
238 #define EFI_ACPI_5_1_REMOTE_POWER_ON_CAPABLE BIT17
239 #define EFI_ACPI_5_1_FORCE_APIC_CLUSTER_MODEL BIT18
240 #define EFI_ACPI_5_1_FORCE_APIC_PHYSICAL_DESTINATION_MODE BIT19
241 #define EFI_ACPI_5_1_HW_REDUCED_ACPI BIT20
242 #define EFI_ACPI_5_1_LOW_POWER_S0_IDLE_CAPABLE BIT21
243 
244 ///
245 /// Firmware ACPI Control Structure
246 ///
247 typedef struct {
256  UINT8 Reserved0[3];
258  UINT8 Reserved1[24];
260 
261 ///
262 /// FACS Version (as defined in ACPI 5.1 spec.)
263 ///
264 #define EFI_ACPI_5_1_FIRMWARE_ACPI_CONTROL_STRUCTURE_VERSION 0x02
265 
266 ///
267 /// Firmware Control Structure Feature Flags
268 /// All other bits are reserved and must be set to 0.
269 ///
270 #define EFI_ACPI_5_1_S4BIOS_F BIT0
271 #define EFI_ACPI_5_1_64BIT_WAKE_SUPPORTED_F BIT1
272 
273 ///
274 /// OSPM Enabled Firmware Control Structure Flags
275 /// All other bits are reserved and must be set to 0.
276 ///
277 #define EFI_ACPI_5_1_OSPM_64BIT_WAKE_F BIT0
278 
279 //
280 // Differentiated System Description Table,
281 // Secondary System Description Table
282 // and Persistent System Description Table,
283 // no definition needed as they are common description table header, the same with
284 // EFI_ACPI_DESCRIPTION_HEADER, followed by a definition block.
285 //
286 #define EFI_ACPI_5_1_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_REVISION 0x02
287 #define EFI_ACPI_5_1_SECONDARY_SYSTEM_DESCRIPTION_TABLE_REVISION 0x02
288 
289 ///
290 /// Multiple APIC Description Table header definition. The rest of the table
291 /// must be defined in a platform specific manner.
292 ///
293 typedef struct {
298 
299 ///
300 /// MADT Revision (as defined in ACPI 5.1 spec.)
301 ///
302 #define EFI_ACPI_5_1_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION 0x03
303 
304 ///
305 /// Multiple APIC Flags
306 /// All other bits are reserved and must be set to 0.
307 ///
308 #define EFI_ACPI_5_1_PCAT_COMPAT BIT0
309 
310 //
311 // Multiple APIC Description Table APIC structure types
312 // All other values between 0x0D and 0x7F are reserved and
313 // will be ignored by OSPM. 0x80 ~ 0xFF are reserved for OEM.
314 //
315 #define EFI_ACPI_5_1_PROCESSOR_LOCAL_APIC 0x00
316 #define EFI_ACPI_5_1_IO_APIC 0x01
317 #define EFI_ACPI_5_1_INTERRUPT_SOURCE_OVERRIDE 0x02
318 #define EFI_ACPI_5_1_NON_MASKABLE_INTERRUPT_SOURCE 0x03
319 #define EFI_ACPI_5_1_LOCAL_APIC_NMI 0x04
320 #define EFI_ACPI_5_1_LOCAL_APIC_ADDRESS_OVERRIDE 0x05
321 #define EFI_ACPI_5_1_IO_SAPIC 0x06
322 #define EFI_ACPI_5_1_LOCAL_SAPIC 0x07
323 #define EFI_ACPI_5_1_PLATFORM_INTERRUPT_SOURCES 0x08
324 #define EFI_ACPI_5_1_PROCESSOR_LOCAL_X2APIC 0x09
325 #define EFI_ACPI_5_1_LOCAL_X2APIC_NMI 0x0A
326 #define EFI_ACPI_5_1_GIC 0x0B
327 #define EFI_ACPI_5_1_GICD 0x0C
328 #define EFI_ACPI_5_1_GIC_MSI_FRAME 0x0D
329 #define EFI_ACPI_5_1_GICR 0x0E
330 
331 //
332 // APIC Structure Definitions
333 //
334 
335 ///
336 /// Processor Local APIC Structure Definition
337 ///
338 typedef struct {
345 
346 ///
347 /// Local APIC Flags. All other bits are reserved and must be 0.
348 ///
349 #define EFI_ACPI_5_1_LOCAL_APIC_ENABLED BIT0
350 
351 ///
352 /// IO APIC Structure
353 ///
354 typedef struct {
362 
363 ///
364 /// Interrupt Source Override Structure
365 ///
366 typedef struct {
374 
375 ///
376 /// Platform Interrupt Sources Structure Definition
377 ///
378 typedef struct {
391 
392 //
393 // MPS INTI flags.
394 // All other bits are reserved and must be set to 0.
395 //
396 #define EFI_ACPI_5_1_POLARITY (3 << 0)
397 #define EFI_ACPI_5_1_TRIGGER_MODE (3 << 2)
398 
399 ///
400 /// Non-Maskable Interrupt Source Structure
401 ///
402 typedef struct {
408 
409 ///
410 /// Local APIC NMI Structure
411 ///
412 typedef struct {
419 
420 ///
421 /// Local APIC Address Override Structure
422 ///
423 typedef struct {
429 
430 ///
431 /// IO SAPIC Structure
432 ///
433 typedef struct {
441 
442 ///
443 /// Local SAPIC Structure
444 /// This struct followed by a null-terminated ASCII string - ACPI Processor UID String
445 ///
446 typedef struct {
456 
457 ///
458 /// Platform Interrupt Sources Structure
459 ///
460 typedef struct {
471 
472 ///
473 /// Platform Interrupt Source Flags.
474 /// All other bits are reserved and must be set to 0.
475 ///
476 #define EFI_ACPI_5_1_CPEI_PROCESSOR_OVERRIDE BIT0
477 
478 ///
479 /// Processor Local x2APIC Structure Definition
480 ///
481 typedef struct {
489 
490 ///
491 /// Local x2APIC NMI Structure
492 ///
493 typedef struct {
501 
502 ///
503 /// GIC Structure
504 ///
505 typedef struct {
522 
523 ///
524 /// GIC Flags. All other bits are reserved and must be 0.
525 ///
526 #define EFI_ACPI_5_1_GIC_ENABLED BIT0
527 #define EFI_ACPI_5_1_PERFORMANCE_INTERRUPT_MODEL BIT1
528 #define EFI_ACPI_5_1_VGIC_MAINTENANCE_INTERRUPT_MODE_FLAGS BIT2
529 
530 ///
531 /// GIC Distributor Structure
532 ///
533 typedef struct {
541  UINT8 Reserved2[3];
543 
544 ///
545 /// GIC Version
546 ///
547 #define EFI_ACPI_5_1_GIC_V1 0x01
548 #define EFI_ACPI_5_1_GIC_V2 0x02
549 #define EFI_ACPI_5_1_GIC_V3 0x03
550 #define EFI_ACPI_5_1_GIC_V4 0x04
551 
552 ///
553 /// GIC MSI Frame Structure
554 ///
555 typedef struct {
565 
566 ///
567 /// GIC MSI Frame Flags. All other bits are reserved and must be 0.
568 ///
569 #define EFI_ACPI_5_1_SPI_COUNT_BASE_SELECT BIT0
570 
571 ///
572 /// GICR Structure
573 ///
574 typedef struct {
581 
582 ///
583 /// Smart Battery Description Table (SBST)
584 ///
585 typedef struct {
591 
592 ///
593 /// SBST Version (as defined in ACPI 5.1 spec.)
594 ///
595 #define EFI_ACPI_5_1_SMART_BATTERY_DESCRIPTION_TABLE_REVISION 0x01
596 
597 ///
598 /// Embedded Controller Boot Resources Table (ECDT)
599 /// The table is followed by a null terminated ASCII string that contains
600 /// a fully qualified reference to the name space object.
601 ///
602 typedef struct {
609 
610 ///
611 /// ECDT Version (as defined in ACPI 5.1 spec.)
612 ///
613 #define EFI_ACPI_5_1_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_REVISION 0x01
614 
615 ///
616 /// System Resource Affinity Table (SRAT). The rest of the table
617 /// must be defined in a platform specific manner.
618 ///
619 typedef struct {
621  UINT32 Reserved1; ///< Must be set to 1
624 
625 ///
626 /// SRAT Version (as defined in ACPI 5.1 spec.)
627 ///
628 #define EFI_ACPI_5_1_SYSTEM_RESOURCE_AFFINITY_TABLE_REVISION 0x03
629 
630 //
631 // SRAT structure types.
632 // All other values between 0x04 an 0xFF are reserved and
633 // will be ignored by OSPM.
634 //
635 #define EFI_ACPI_5_1_PROCESSOR_LOCAL_APIC_SAPIC_AFFINITY 0x00
636 #define EFI_ACPI_5_1_MEMORY_AFFINITY 0x01
637 #define EFI_ACPI_5_1_PROCESSOR_LOCAL_X2APIC_AFFINITY 0x02
638 #define EFI_ACPI_5_1_GICC_AFFINITY 0x03
639 
640 ///
641 /// Processor Local APIC/SAPIC Affinity Structure Definition
642 ///
643 typedef struct {
650  UINT8 ProximityDomain31To8[3];
653 
654 ///
655 /// Local APIC/SAPIC Flags. All other bits are reserved and must be 0.
656 ///
657 #define EFI_ACPI_5_1_PROCESSOR_LOCAL_APIC_SAPIC_ENABLED (1 << 0)
658 
659 ///
660 /// Memory Affinity Structure Definition
661 ///
662 typedef struct {
675 
676 //
677 // Memory Flags. All other bits are reserved and must be 0.
678 //
679 #define EFI_ACPI_5_1_MEMORY_ENABLED (1 << 0)
680 #define EFI_ACPI_5_1_MEMORY_HOT_PLUGGABLE (1 << 1)
681 #define EFI_ACPI_5_1_MEMORY_NONVOLATILE (1 << 2)
682 
683 ///
684 /// Processor Local x2APIC Affinity Structure Definition
685 ///
686 typedef struct {
689  UINT8 Reserved1[2];
694  UINT8 Reserved2[4];
696 
697 ///
698 /// GICC Affinity Structure Definition
699 ///
700 typedef struct {
708 
709 ///
710 /// GICC Flags. All other bits are reserved and must be 0.
711 ///
712 #define EFI_ACPI_5_1_GICC_ENABLED (1 << 0)
713 
714 ///
715 /// System Locality Distance Information Table (SLIT).
716 /// The rest of the table is a matrix.
717 ///
718 typedef struct {
722 
723 ///
724 /// SLIT Version (as defined in ACPI 5.1 spec.)
725 ///
726 #define EFI_ACPI_5_1_SYSTEM_LOCALITY_DISTANCE_INFORMATION_TABLE_REVISION 0x01
727 
728 ///
729 /// Corrected Platform Error Polling Table (CPEP)
730 ///
731 typedef struct {
735 
736 ///
737 /// CPEP Version (as defined in ACPI 5.1 spec.)
738 ///
739 #define EFI_ACPI_5_1_CORRECTED_PLATFORM_ERROR_POLLING_TABLE_REVISION 0x01
740 
741 //
742 // CPEP processor structure types.
743 //
744 #define EFI_ACPI_5_1_CPEP_PROCESSOR_APIC_SAPIC 0x00
745 
746 ///
747 /// Corrected Platform Error Polling Processor Structure Definition
748 ///
749 typedef struct {
756 
757 ///
758 /// Maximum System Characteristics Table (MSCT)
759 ///
760 typedef struct {
767 
768 ///
769 /// MSCT Version (as defined in ACPI 5.1 spec.)
770 ///
771 #define EFI_ACPI_5_1_MAXIMUM_SYSTEM_CHARACTERISTICS_TABLE_REVISION 0x01
772 
773 ///
774 /// Maximum Proximity Domain Information Structure Definition
775 ///
776 typedef struct {
784 
785 ///
786 /// ACPI RAS Feature Table definition.
787 ///
788 typedef struct {
790  UINT8 PlatformCommunicationChannelIdentifier[12];
792 
793 ///
794 /// RASF Version (as defined in ACPI 5.1 spec.)
795 ///
796 #define EFI_ACPI_5_1_RAS_FEATURE_TABLE_REVISION 0x01
797 
798 ///
799 /// ACPI RASF Platform Communication Channel Shared Memory Region definition.
800 ///
801 typedef struct {
806  UINT8 RASCapabilities[16];
807  UINT8 SetRASCapabilities[16];
811 
812 ///
813 /// ACPI RASF PCC command code
814 ///
815 #define EFI_ACPI_5_1_RASF_PCC_COMMAND_CODE_EXECUTE_RASF_COMMAND 0x01
816 
817 ///
818 /// ACPI RASF Platform RAS Capabilities
819 ///
820 #define EFI_ACPI_5_1_RASF_PLATFORM_RAS_CAPABILITY_HARDWARE_BASED_PATROL_SCRUB_SUPPOTED 0x01
821 #define EFI_ACPI_5_1_RASF_PLATFORM_RAS_CAPABILITY_HARDWARE_BASED_PATROL_SCRUB_SUPPOTED_AND_EXPOSED_TO_SOFTWARE 0x02
822 
823 ///
824 /// ACPI RASF Parameter Block structure for PATROL_SCRUB
825 ///
826 typedef struct {
831  UINT64 RequestedAddressRange[2];
832  UINT64 ActualAddressRange[2];
836 
837 ///
838 /// ACPI RASF Patrol Scrub command
839 ///
840 #define EFI_ACPI_5_1_RASF_PATROL_SCRUB_COMMAND_GET_PATROL_PARAMETERS 0x01
841 #define EFI_ACPI_5_1_RASF_PATROL_SCRUB_COMMAND_START_PATROL_SCRUBBER 0x02
842 #define EFI_ACPI_5_1_RASF_PATROL_SCRUB_COMMAND_STOP_PATROL_SCRUBBER 0x03
843 
844 ///
845 /// Memory Power State Table definition.
846 ///
847 typedef struct {
851  // Memory Power Node Structure
852  // Memory Power State Characteristics
854 
855 ///
856 /// MPST Version (as defined in ACPI 5.1 spec.)
857 ///
858 #define EFI_ACPI_5_1_MEMORY_POWER_STATE_TABLE_REVISION 0x01
859 
860 ///
861 /// MPST Platform Communication Channel Shared Memory Region definition.
862 ///
863 typedef struct {
874 
875 ///
876 /// ACPI MPST PCC command code
877 ///
878 #define EFI_ACPI_5_1_MPST_PCC_COMMAND_CODE_EXECUTE_MPST_COMMAND 0x03
879 
880 ///
881 /// ACPI MPST Memory Power command
882 ///
883 #define EFI_ACPI_5_1_MPST_MEMORY_POWER_COMMAND_GET_MEMORY_POWER_STATE 0x01
884 #define EFI_ACPI_5_1_MPST_MEMORY_POWER_COMMAND_SET_MEMORY_POWER_STATE 0x02
885 #define EFI_ACPI_5_1_MPST_MEMORY_POWER_COMMAND_GET_AVERAGE_POWER_CONSUMED 0x03
886 #define EFI_ACPI_5_1_MPST_MEMORY_POWER_COMMAND_GET_MEMORY_ENERGY_CONSUMED 0x04
887 
888 ///
889 /// MPST Memory Power Node Table
890 ///
891 typedef struct {
895 
896 typedef struct {
905  // EFI_ACPI_5_1_MPST_MEMORY_POWER_STATE MemoryPowerState[NumberOfPowerStates];
906  // UINT16 PhysicalComponentIdentifier[NumberOfPhysicalComponents];
908 
909 #define EFI_ACPI_5_1_MPST_MEMORY_POWER_STRUCTURE_FLAG_ENABLE 0x01
910 #define EFI_ACPI_5_1_MPST_MEMORY_POWER_STRUCTURE_FLAG_POWER_MANAGED 0x02
911 #define EFI_ACPI_5_1_MPST_MEMORY_POWER_STRUCTURE_FLAG_HOT_PLUGGABLE 0x04
912 
913 typedef struct {
917 
918 ///
919 /// MPST Memory Power State Characteristics Table
920 ///
921 typedef struct {
929 
930 #define EFI_ACPI_5_1_MPST_MEMORY_POWER_STATE_CHARACTERISTICS_STRUCTURE_FLAG_MEMORY_CONTENT_PRESERVED 0x01
931 #define EFI_ACPI_5_1_MPST_MEMORY_POWER_STATE_CHARACTERISTICS_STRUCTURE_FLAG_AUTONOMOUS_MEMORY_POWER_STATE_ENTRY 0x02
932 #define EFI_ACPI_5_1_MPST_MEMORY_POWER_STATE_CHARACTERISTICS_STRUCTURE_FLAG_AUTONOMOUS_MEMORY_POWER_STATE_EXIT 0x04
933 
934 typedef struct {
938 
939 ///
940 /// Memory Topology Table definition.
941 ///
942 typedef struct {
946 
947 ///
948 /// PMTT Version (as defined in ACPI 5.1 spec.)
949 ///
950 #define EFI_ACPI_5_1_MEMORY_TOPOLOGY_TABLE_REVISION 0x01
951 
952 ///
953 /// Common Memory Aggregator Device Structure.
954 ///
955 typedef struct {
962 
963 ///
964 /// Memory Aggregator Device Type
965 ///
966 #define EFI_ACPI_5_1_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_SOCKET 0x0
967 #define EFI_ACPI_5_1_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_MEMORY_CONTROLLER 0x1
968 #define EFI_ACPI_5_1_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_DIMM 0x2
969 
970 ///
971 /// Socket Memory Aggregator Device Structure.
972 ///
973 typedef struct {
977  // EFI_ACPI_5_1_PMMT_MEMORY_CONTROLLER_MEMORY_AGGREGATOR_DEVICE_STRUCTURE MemoryController[];
979 
980 ///
981 /// MemoryController Memory Aggregator Device Structure.
982 ///
983 typedef struct {
993  // UINT32 ProximityDomain[NumberOfProximityDomains];
994  // EFI_ACPI_5_1_PMMT_DIMM_MEMORY_AGGREGATOR_DEVICE_STRUCTURE PhysicalComponent[];
996 
997 ///
998 /// DIMM Memory Aggregator Device Structure.
999 ///
1000 typedef struct {
1007 
1008 ///
1009 /// Boot Graphics Resource Table definition.
1010 ///
1011 typedef struct {
1013  ///
1014  /// 2-bytes (16 bit) version ID. This value must be 1.
1015  ///
1017  ///
1018  /// 1-byte status field indicating current status about the table.
1019  /// Bits[7:1] = Reserved (must be zero)
1020  /// Bit [0] = Valid. A one indicates the boot image graphic is valid.
1021  ///
1023  ///
1024  /// 1-byte enumerated type field indicating format of the image.
1025  /// 0 = Bitmap
1026  /// 1 - 255 Reserved (for future use)
1027  ///
1029  ///
1030  /// 8-byte (64 bit) physical address pointing to the firmware's in-memory copy
1031  /// of the image bitmap.
1032  ///
1034  ///
1035  /// A 4-byte (32-bit) unsigned long describing the display X-offset of the boot image.
1036  /// (X, Y) display offset of the top left corner of the boot image.
1037  /// The top left corner of the display is at offset (0, 0).
1038  ///
1040  ///
1041  /// A 4-byte (32-bit) unsigned long describing the display Y-offset of the boot image.
1042  /// (X, Y) display offset of the top left corner of the boot image.
1043  /// The top left corner of the display is at offset (0, 0).
1044  ///
1047 
1048 ///
1049 /// BGRT Revision
1050 ///
1051 #define EFI_ACPI_5_1_BOOT_GRAPHICS_RESOURCE_TABLE_REVISION 1
1052 
1053 ///
1054 /// BGRT Version
1055 ///
1056 #define EFI_ACPI_5_1_BGRT_VERSION 0x01
1057 
1058 ///
1059 /// BGRT Status
1060 ///
1061 #define EFI_ACPI_5_1_BGRT_STATUS_NOT_DISPLAYED 0x00
1062 #define EFI_ACPI_5_1_BGRT_STATUS_DISPLAYED 0x01
1063 
1064 ///
1065 /// BGRT Image Type
1066 ///
1067 #define EFI_ACPI_5_1_BGRT_IMAGE_TYPE_BMP 0x00
1068 
1069 ///
1070 /// FPDT Version (as defined in ACPI 5.1 spec.)
1071 ///
1072 #define EFI_ACPI_5_1_FIRMWARE_PERFORMANCE_DATA_TABLE_REVISION 0x01
1073 
1074 ///
1075 /// FPDT Performance Record Types
1076 ///
1077 #define EFI_ACPI_5_1_FPDT_RECORD_TYPE_FIRMWARE_BASIC_BOOT_POINTER 0x0000
1078 #define EFI_ACPI_5_1_FPDT_RECORD_TYPE_S3_PERFORMANCE_TABLE_POINTER 0x0001
1079 
1080 ///
1081 /// FPDT Performance Record Revision
1082 ///
1083 #define EFI_ACPI_5_1_FPDT_RECORD_REVISION_FIRMWARE_BASIC_BOOT_POINTER 0x01
1084 #define EFI_ACPI_5_1_FPDT_RECORD_REVISION_S3_PERFORMANCE_TABLE_POINTER 0x01
1085 
1086 ///
1087 /// FPDT Runtime Performance Record Types
1088 ///
1089 #define EFI_ACPI_5_1_FPDT_RUNTIME_RECORD_TYPE_S3_RESUME 0x0000
1090 #define EFI_ACPI_5_1_FPDT_RUNTIME_RECORD_TYPE_S3_SUSPEND 0x0001
1091 #define EFI_ACPI_5_1_FPDT_RUNTIME_RECORD_TYPE_FIRMWARE_BASIC_BOOT 0x0002
1092 
1093 ///
1094 /// FPDT Runtime Performance Record Revision
1095 ///
1096 #define EFI_ACPI_5_1_FPDT_RUNTIME_RECORD_REVISION_S3_RESUME 0x01
1097 #define EFI_ACPI_5_1_FPDT_RUNTIME_RECORD_REVISION_S3_SUSPEND 0x01
1098 #define EFI_ACPI_5_1_FPDT_RUNTIME_RECORD_REVISION_FIRMWARE_BASIC_BOOT 0x02
1099 
1100 ///
1101 /// FPDT Performance Record header
1102 ///
1103 typedef struct {
1108 
1109 ///
1110 /// FPDT Performance Table header
1111 ///
1112 typedef struct {
1116 
1117 ///
1118 /// FPDT Firmware Basic Boot Performance Pointer Record Structure
1119 ///
1120 typedef struct {
1123  ///
1124  /// 64-bit processor-relative physical address of the Basic Boot Performance Table.
1125  ///
1128 
1129 ///
1130 /// FPDT S3 Performance Table Pointer Record Structure
1131 ///
1132 typedef struct {
1135  ///
1136  /// 64-bit processor-relative physical address of the S3 Performance Table.
1137  ///
1140 
1141 ///
1142 /// FPDT Firmware Basic Boot Performance Record Structure
1143 ///
1144 typedef struct {
1147  ///
1148  /// Timer value logged at the beginning of firmware image execution.
1149  /// This may not always be zero or near zero.
1150  ///
1152  ///
1153  /// Timer value logged just prior to loading the OS boot loader into memory.
1154  /// For non-UEFI compatible boots, this field must be zero.
1155  ///
1157  ///
1158  /// Timer value logged just prior to launching the previously loaded OS boot loader image.
1159  /// For non-UEFI compatible boots, the timer value logged will be just prior
1160  /// to the INT 19h handler invocation.
1161  ///
1163  ///
1164  /// Timer value logged at the point when the OS loader calls the
1165  /// ExitBootServices function for UEFI compatible firmware.
1166  /// For non-UEFI compatible boots, this field must be zero.
1167  ///
1169  ///
1170  /// Timer value logged at the point just prior to when the OS loader gaining
1171  /// control back from calls the ExitBootServices function for UEFI compatible firmware.
1172  /// For non-UEFI compatible boots, this field must be zero.
1173  ///
1176 
1177 ///
1178 /// FPDT Firmware Basic Boot Performance Table signature
1179 ///
1180 #define EFI_ACPI_5_1_FPDT_BOOT_PERFORMANCE_TABLE_SIGNATURE SIGNATURE_32('F', 'B', 'P', 'T')
1181 
1182 //
1183 // FPDT Firmware Basic Boot Performance Table
1184 //
1185 typedef struct {
1187  //
1188  // one or more Performance Records.
1189  //
1191 
1192 ///
1193 /// FPDT "S3PT" S3 Performance Table
1194 ///
1195 #define EFI_ACPI_5_1_FPDT_S3_PERFORMANCE_TABLE_SIGNATURE SIGNATURE_32('S', '3', 'P', 'T')
1196 
1197 //
1198 // FPDT Firmware S3 Boot Performance Table
1199 //
1200 typedef struct {
1202  //
1203  // one or more Performance Records.
1204  //
1206 
1207 ///
1208 /// FPDT Basic S3 Resume Performance Record
1209 ///
1210 typedef struct {
1212  ///
1213  /// A count of the number of S3 resume cycles since the last full boot sequence.
1214  ///
1216  ///
1217  /// Timer recorded at the end of BIOS S3 resume, just prior to handoff to the
1218  /// OS waking vector. Only the most recent resume cycle's time is retained.
1219  ///
1221  ///
1222  /// Average timer value of all resume cycles logged since the last full boot
1223  /// sequence, including the most recent resume. Note that the entire log of
1224  /// timer values does not need to be retained in order to calculate this average.
1225  ///
1228 
1229 ///
1230 /// FPDT Basic S3 Suspend Performance Record
1231 ///
1232 typedef struct {
1234  ///
1235  /// Timer value recorded at the OS write to SLP_TYP upon entry to S3.
1236  /// Only the most recent suspend cycle's timer value is retained.
1237  ///
1239  ///
1240  /// Timer value recorded at the final firmware write to SLP_TYP (or other
1241  /// mechanism) used to trigger hardware entry to S3.
1242  /// Only the most recent suspend cycle's timer value is retained.
1243  ///
1246 
1247 ///
1248 /// Firmware Performance Record Table definition.
1249 ///
1250 typedef struct {
1253 
1254 ///
1255 /// Generic Timer Description Table definition.
1256 ///
1257 typedef struct {
1273 
1274 ///
1275 /// GTDT Version (as defined in ACPI 5.1 spec.)
1276 ///
1277 #define EFI_ACPI_5_1_GENERIC_TIMER_DESCRIPTION_TABLE_REVISION 0x02
1278 
1279 ///
1280 /// Timer Flags. All other bits are reserved and must be 0.
1281 ///
1282 #define EFI_ACPI_5_1_GTDT_TIMER_FLAG_TIMER_INTERRUPT_MODE BIT0
1283 #define EFI_ACPI_5_1_GTDT_TIMER_FLAG_TIMER_INTERRUPT_POLARITY BIT1
1284 #define EFI_ACPI_5_1_GTDT_TIMER_FLAG_ALWAYS_ON_CAPABILITY BIT2
1285 
1286 ///
1287 /// Platform Timer Type
1288 ///
1289 #define EFI_ACPI_5_1_GTDT_GT_BLOCK 0
1290 #define EFI_ACPI_5_1_GTDT_SBSA_GENERIC_WATCHDOG 1
1291 
1292 ///
1293 /// GT Block Structure
1294 ///
1295 typedef struct {
1303 
1304 ///
1305 /// GT Block Timer Structure
1306 ///
1307 typedef struct {
1318 
1319 ///
1320 /// GT Block Physical Timers and Virtual Timers Flags. All other bits are reserved and must be 0.
1321 ///
1322 #define EFI_ACPI_5_1_GTDT_GT_BLOCK_TIMER_FLAG_TIMER_INTERRUPT_MODE BIT0
1323 #define EFI_ACPI_5_1_GTDT_GT_BLOCK_TIMER_FLAG_TIMER_INTERRUPT_POLARITY BIT1
1324 
1325 ///
1326 /// Common Flags Flags. All other bits are reserved and must be 0.
1327 ///
1328 #define EFI_ACPI_5_1_GTDT_GT_BLOCK_COMMON_FLAG_SECURE_TIMER BIT0
1329 #define EFI_ACPI_5_1_GTDT_GT_BLOCK_COMMON_FLAG_ALWAYS_ON_CAPABILITY BIT1
1330 
1331 ///
1332 /// SBSA Generic Watchdog Structure
1333 ///
1334 typedef struct {
1343 
1344 ///
1345 /// SBSA Generic Watchdog Timer Flags. All other bits are reserved and must be 0.
1346 ///
1347 #define EFI_ACPI_5_1_GTDT_SBSA_GENERIC_WATCHDOG_FLAG_TIMER_INTERRUPT_MODE BIT0
1348 #define EFI_ACPI_5_1_GTDT_SBSA_GENERIC_WATCHDOG_FLAG_TIMER_INTERRUPT_POLARITY BIT1
1349 #define EFI_ACPI_5_1_GTDT_SBSA_GENERIC_WATCHDOG_FLAG_SECURE_TIMER BIT2
1350 
1351 ///
1352 /// Boot Error Record Table (BERT)
1353 ///
1354 typedef struct {
1359 
1360 ///
1361 /// BERT Version (as defined in ACPI 5.1 spec.)
1362 ///
1363 #define EFI_ACPI_5_1_BOOT_ERROR_RECORD_TABLE_REVISION 0x01
1364 
1365 ///
1366 /// Boot Error Region Block Status Definition
1367 ///
1368 typedef struct {
1376 
1377 ///
1378 /// Boot Error Region Definition
1379 ///
1380 typedef struct {
1387 
1388 //
1389 // Boot Error Severity types
1390 //
1391 #define EFI_ACPI_5_1_ERROR_SEVERITY_RECOVERABLE 0x00
1392 #define EFI_ACPI_5_1_ERROR_SEVERITY_FATAL 0x01
1393 #define EFI_ACPI_5_1_ERROR_SEVERITY_CORRECTED 0x02
1394 #define EFI_ACPI_5_1_ERROR_SEVERITY_NONE 0x03
1395 //
1396 // The term 'Correctable' is no longer being used as an error severity of the
1397 // reported error since ACPI Specification Version 5.1 Errata B.
1398 // The below macro is considered as deprecated and should no longer be used.
1399 //
1400 #define EFI_ACPI_5_1_ERROR_SEVERITY_CORRECTABLE 0x00
1401 
1402 ///
1403 /// Generic Error Data Entry Definition
1404 ///
1405 typedef struct {
1406  UINT8 SectionType[16];
1412  UINT8 FruId[16];
1413  UINT8 FruText[20];
1415 
1416 ///
1417 /// Generic Error Data Entry Version (as defined in ACPI 5.1 spec.)
1418 ///
1419 #define EFI_ACPI_5_1_GENERIC_ERROR_DATA_ENTRY_REVISION 0x0201
1420 
1421 ///
1422 /// HEST - Hardware Error Source Table
1423 ///
1424 typedef struct {
1428 
1429 ///
1430 /// HEST Version (as defined in ACPI 5.1 spec.)
1431 ///
1432 #define EFI_ACPI_5_1_HARDWARE_ERROR_SOURCE_TABLE_REVISION 0x01
1433 
1434 //
1435 // Error Source structure types.
1436 //
1437 #define EFI_ACPI_5_1_IA32_ARCHITECTURE_MACHINE_CHECK_EXCEPTION 0x00
1438 #define EFI_ACPI_5_1_IA32_ARCHITECTURE_CORRECTED_MACHINE_CHECK 0x01
1439 #define EFI_ACPI_5_1_IA32_ARCHITECTURE_NMI_ERROR 0x02
1440 #define EFI_ACPI_5_1_PCI_EXPRESS_ROOT_PORT_AER 0x06
1441 #define EFI_ACPI_5_1_PCI_EXPRESS_DEVICE_AER 0x07
1442 #define EFI_ACPI_5_1_PCI_EXPRESS_BRIDGE_AER 0x08
1443 #define EFI_ACPI_5_1_GENERIC_HARDWARE_ERROR 0x09
1444 
1445 //
1446 // Error Source structure flags.
1447 //
1448 #define EFI_ACPI_5_1_ERROR_SOURCE_FLAG_FIRMWARE_FIRST (1 << 0)
1449 #define EFI_ACPI_5_1_ERROR_SOURCE_FLAG_GLOBAL (1 << 1)
1450 
1451 ///
1452 /// IA-32 Architecture Machine Check Exception Structure Definition
1453 ///
1454 typedef struct {
1457  UINT8 Reserved0[2];
1465  UINT8 Reserved1[7];
1467 
1468 ///
1469 /// IA-32 Architecture Machine Check Bank Structure Definition
1470 ///
1471 typedef struct {
1482 
1483 ///
1484 /// IA-32 Architecture Machine Check Bank Structure MCA data format
1485 ///
1486 #define EFI_ACPI_5_1_IA32_ARCHITECTURE_MACHINE_CHECK_ERROR_DATA_FORMAT_IA32 0x00
1487 #define EFI_ACPI_5_1_IA32_ARCHITECTURE_MACHINE_CHECK_ERROR_DATA_FORMAT_INTEL64 0x01
1488 #define EFI_ACPI_5_1_IA32_ARCHITECTURE_MACHINE_CHECK_ERROR_DATA_FORMAT_AMD64 0x02
1489 
1490 //
1491 // Hardware Error Notification types. All other values are reserved
1492 //
1493 #define EFI_ACPI_5_1_HARDWARE_ERROR_NOTIFICATION_POLLED 0x00
1494 #define EFI_ACPI_5_1_HARDWARE_ERROR_NOTIFICATION_EXTERNAL_INTERRUPT 0x01
1495 #define EFI_ACPI_5_1_HARDWARE_ERROR_NOTIFICATION_LOCAL_INTERRUPT 0x02
1496 #define EFI_ACPI_5_1_HARDWARE_ERROR_NOTIFICATION_SCI 0x03
1497 #define EFI_ACPI_5_1_HARDWARE_ERROR_NOTIFICATION_NMI 0x04
1498 
1499 ///
1500 /// Hardware Error Notification Configuration Write Enable Structure Definition
1501 ///
1502 typedef struct {
1511 
1512 ///
1513 /// Hardware Error Notification Structure Definition
1514 ///
1515 typedef struct {
1526 
1527 ///
1528 /// IA-32 Architecture Corrected Machine Check Structure Definition
1529 ///
1530 typedef struct {
1533  UINT8 Reserved0[2];
1540  UINT8 Reserved1[3];
1542 
1543 ///
1544 /// IA-32 Architecture NMI Error Structure Definition
1545 ///
1546 typedef struct {
1549  UINT8 Reserved0[2];
1554 
1555 ///
1556 /// PCI Express Root Port AER Structure Definition
1557 ///
1558 typedef struct {
1561  UINT8 Reserved0[2];
1570  UINT8 Reserved1[2];
1577 
1578 ///
1579 /// PCI Express Device AER Structure Definition
1580 ///
1581 typedef struct {
1584  UINT8 Reserved0[2];
1593  UINT8 Reserved1[2];
1599 
1600 ///
1601 /// PCI Express Bridge AER Structure Definition
1602 ///
1603 typedef struct {
1606  UINT8 Reserved0[2];
1615  UINT8 Reserved1[2];
1624 
1625 ///
1626 /// Generic Hardware Error Source Structure Definition
1627 ///
1628 typedef struct {
1641 
1642 ///
1643 /// Generic Error Status Definition
1644 ///
1645 typedef struct {
1652 
1653 ///
1654 /// ERST - Error Record Serialization Table
1655 ///
1656 typedef struct {
1659  UINT8 Reserved0[4];
1662 
1663 ///
1664 /// ERST Version (as defined in ACPI 5.1 spec.)
1665 ///
1666 #define EFI_ACPI_5_1_ERROR_RECORD_SERIALIZATION_TABLE_REVISION 0x01
1667 
1668 ///
1669 /// ERST Serialization Actions
1670 ///
1671 #define EFI_ACPI_5_1_ERST_BEGIN_WRITE_OPERATION 0x00
1672 #define EFI_ACPI_5_1_ERST_BEGIN_READ_OPERATION 0x01
1673 #define EFI_ACPI_5_1_ERST_BEGIN_CLEAR_OPERATION 0x02
1674 #define EFI_ACPI_5_1_ERST_END_OPERATION 0x03
1675 #define EFI_ACPI_5_1_ERST_SET_RECORD_OFFSET 0x04
1676 #define EFI_ACPI_5_1_ERST_EXECUTE_OPERATION 0x05
1677 #define EFI_ACPI_5_1_ERST_CHECK_BUSY_STATUS 0x06
1678 #define EFI_ACPI_5_1_ERST_GET_COMMAND_STATUS 0x07
1679 #define EFI_ACPI_5_1_ERST_GET_RECORD_IDENTIFIER 0x08
1680 #define EFI_ACPI_5_1_ERST_SET_RECORD_IDENTIFIER 0x09
1681 #define EFI_ACPI_5_1_ERST_GET_RECORD_COUNT 0x0A
1682 #define EFI_ACPI_5_1_ERST_BEGIN_DUMMY_WRITE_OPERATION 0x0B
1683 #define EFI_ACPI_5_1_ERST_GET_ERROR_LOG_ADDRESS_RANGE 0x0D
1684 #define EFI_ACPI_5_1_ERST_GET_ERROR_LOG_ADDRESS_RANGE_LENGTH 0x0E
1685 #define EFI_ACPI_5_1_ERST_GET_ERROR_LOG_ADDRESS_RANGE_ATTRIBUTES 0x0F
1686 
1687 ///
1688 /// ERST Action Command Status
1689 ///
1690 #define EFI_ACPI_5_1_ERST_STATUS_SUCCESS 0x00
1691 #define EFI_ACPI_5_1_ERST_STATUS_NOT_ENOUGH_SPACE 0x01
1692 #define EFI_ACPI_5_1_ERST_STATUS_HARDWARE_NOT_AVAILABLE 0x02
1693 #define EFI_ACPI_5_1_ERST_STATUS_FAILED 0x03
1694 #define EFI_ACPI_5_1_ERST_STATUS_RECORD_STORE_EMPTY 0x04
1695 #define EFI_ACPI_5_1_ERST_STATUS_RECORD_NOT_FOUND 0x05
1696 
1697 ///
1698 /// ERST Serialization Instructions
1699 ///
1700 #define EFI_ACPI_5_1_ERST_READ_REGISTER 0x00
1701 #define EFI_ACPI_5_1_ERST_READ_REGISTER_VALUE 0x01
1702 #define EFI_ACPI_5_1_ERST_WRITE_REGISTER 0x02
1703 #define EFI_ACPI_5_1_ERST_WRITE_REGISTER_VALUE 0x03
1704 #define EFI_ACPI_5_1_ERST_NOOP 0x04
1705 #define EFI_ACPI_5_1_ERST_LOAD_VAR1 0x05
1706 #define EFI_ACPI_5_1_ERST_LOAD_VAR2 0x06
1707 #define EFI_ACPI_5_1_ERST_STORE_VAR1 0x07
1708 #define EFI_ACPI_5_1_ERST_ADD 0x08
1709 #define EFI_ACPI_5_1_ERST_SUBTRACT 0x09
1710 #define EFI_ACPI_5_1_ERST_ADD_VALUE 0x0A
1711 #define EFI_ACPI_5_1_ERST_SUBTRACT_VALUE 0x0B
1712 #define EFI_ACPI_5_1_ERST_STALL 0x0C
1713 #define EFI_ACPI_5_1_ERST_STALL_WHILE_TRUE 0x0D
1714 #define EFI_ACPI_5_1_ERST_SKIP_NEXT_INSTRUCTION_IF_TRUE 0x0E
1715 #define EFI_ACPI_5_1_ERST_GOTO 0x0F
1716 #define EFI_ACPI_5_1_ERST_SET_SRC_ADDRESS_BASE 0x10
1717 #define EFI_ACPI_5_1_ERST_SET_DST_ADDRESS_BASE 0x11
1718 #define EFI_ACPI_5_1_ERST_MOVE_DATA 0x12
1719 
1720 ///
1721 /// ERST Instruction Flags
1722 ///
1723 #define EFI_ACPI_5_1_ERST_PRESERVE_REGISTER 0x01
1724 
1725 ///
1726 /// ERST Serialization Instruction Entry
1727 ///
1728 typedef struct {
1737 
1738 ///
1739 /// EINJ - Error Injection Table
1740 ///
1741 typedef struct {
1745  UINT8 Reserved0[3];
1748 
1749 ///
1750 /// EINJ Version (as defined in ACPI 5.1 spec.)
1751 ///
1752 #define EFI_ACPI_5_1_ERROR_INJECTION_TABLE_REVISION 0x01
1753 
1754 ///
1755 /// EINJ Error Injection Actions
1756 ///
1757 #define EFI_ACPI_5_1_EINJ_BEGIN_INJECTION_OPERATION 0x00
1758 #define EFI_ACPI_5_1_EINJ_GET_TRIGGER_ERROR_ACTION_TABLE 0x01
1759 #define EFI_ACPI_5_1_EINJ_SET_ERROR_TYPE 0x02
1760 #define EFI_ACPI_5_1_EINJ_GET_ERROR_TYPE 0x03
1761 #define EFI_ACPI_5_1_EINJ_END_OPERATION 0x04
1762 #define EFI_ACPI_5_1_EINJ_EXECUTE_OPERATION 0x05
1763 #define EFI_ACPI_5_1_EINJ_CHECK_BUSY_STATUS 0x06
1764 #define EFI_ACPI_5_1_EINJ_GET_COMMAND_STATUS 0x07
1765 #define EFI_ACPI_5_1_EINJ_TRIGGER_ERROR 0xFF
1766 
1767 ///
1768 /// EINJ Action Command Status
1769 ///
1770 #define EFI_ACPI_5_1_EINJ_STATUS_SUCCESS 0x00
1771 #define EFI_ACPI_5_1_EINJ_STATUS_UNKNOWN_FAILURE 0x01
1772 #define EFI_ACPI_5_1_EINJ_STATUS_INVALID_ACCESS 0x02
1773 
1774 ///
1775 /// EINJ Error Type Definition
1776 ///
1777 #define EFI_ACPI_5_1_EINJ_ERROR_PROCESSOR_CORRECTABLE (1 << 0)
1778 #define EFI_ACPI_5_1_EINJ_ERROR_PROCESSOR_UNCORRECTABLE_NONFATAL (1 << 1)
1779 #define EFI_ACPI_5_1_EINJ_ERROR_PROCESSOR_UNCORRECTABLE_FATAL (1 << 2)
1780 #define EFI_ACPI_5_1_EINJ_ERROR_MEMORY_CORRECTABLE (1 << 3)
1781 #define EFI_ACPI_5_1_EINJ_ERROR_MEMORY_UNCORRECTABLE_NONFATAL (1 << 4)
1782 #define EFI_ACPI_5_1_EINJ_ERROR_MEMORY_UNCORRECTABLE_FATAL (1 << 5)
1783 #define EFI_ACPI_5_1_EINJ_ERROR_PCI_EXPRESS_CORRECTABLE (1 << 6)
1784 #define EFI_ACPI_5_1_EINJ_ERROR_PCI_EXPRESS_UNCORRECTABLE_NONFATAL (1 << 7)
1785 #define EFI_ACPI_5_1_EINJ_ERROR_PCI_EXPRESS_UNCORRECTABLE_FATAL (1 << 8)
1786 #define EFI_ACPI_5_1_EINJ_ERROR_PLATFORM_CORRECTABLE (1 << 9)
1787 #define EFI_ACPI_5_1_EINJ_ERROR_PLATFORM_UNCORRECTABLE_NONFATAL (1 << 10)
1788 #define EFI_ACPI_5_1_EINJ_ERROR_PLATFORM_UNCORRECTABLE_FATAL (1 << 11)
1789 
1790 ///
1791 /// EINJ Injection Instructions
1792 ///
1793 #define EFI_ACPI_5_1_EINJ_READ_REGISTER 0x00
1794 #define EFI_ACPI_5_1_EINJ_READ_REGISTER_VALUE 0x01
1795 #define EFI_ACPI_5_1_EINJ_WRITE_REGISTER 0x02
1796 #define EFI_ACPI_5_1_EINJ_WRITE_REGISTER_VALUE 0x03
1797 #define EFI_ACPI_5_1_EINJ_NOOP 0x04
1798 
1799 ///
1800 /// EINJ Instruction Flags
1801 ///
1802 #define EFI_ACPI_5_1_EINJ_PRESERVE_REGISTER 0x01
1803 
1804 ///
1805 /// EINJ Injection Instruction Entry
1806 ///
1807 typedef struct {
1816 
1817 ///
1818 /// EINJ Trigger Action Table
1819 ///
1820 typedef struct {
1826 
1827 ///
1828 /// Platform Communications Channel Table (PCCT)
1829 ///
1830 typedef struct {
1835 
1836 ///
1837 /// PCCT Version (as defined in ACPI 5.1 spec.)
1838 ///
1839 #define EFI_ACPI_5_1_PLATFORM_COMMUNICATION_CHANNEL_TABLE_REVISION 0x01
1840 
1841 ///
1842 /// PCCT Global Flags
1843 ///
1844 #define EFI_ACPI_5_1_PCCT_FLAGS_SCI_DOORBELL BIT0
1845 
1846 //
1847 // PCCT Subspace type
1848 //
1849 #define EFI_ACPI_5_1_PCCT_SUBSPACE_TYPE_GENERIC 0x00
1850 
1851 ///
1852 /// PCC Subspace Structure Header
1853 ///
1854 typedef struct {
1858 
1859 ///
1860 /// Generic Communications Subspace Structure
1861 ///
1862 typedef struct {
1875 
1876 ///
1877 /// Generic Communications Channel Shared Memory Region
1878 ///
1879 
1880 typedef struct {
1885 
1886 typedef struct {
1894 
1895 typedef struct {
1900 
1901 //
1902 // Known table signatures
1903 //
1904 
1905 ///
1906 /// "RSD PTR " Root System Description Pointer
1907 ///
1908 #define EFI_ACPI_5_1_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE SIGNATURE_64('R', 'S', 'D', ' ', 'P', 'T', 'R', ' ')
1909 
1910 ///
1911 /// "APIC" Multiple APIC Description Table
1912 ///
1913 #define EFI_ACPI_5_1_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('A', 'P', 'I', 'C')
1914 
1915 ///
1916 /// "BERT" Boot Error Record Table
1917 ///
1918 #define EFI_ACPI_5_1_BOOT_ERROR_RECORD_TABLE_SIGNATURE SIGNATURE_32('B', 'E', 'R', 'T')
1919 
1920 ///
1921 /// "BGRT" Boot Graphics Resource Table
1922 ///
1923 #define EFI_ACPI_5_1_BOOT_GRAPHICS_RESOURCE_TABLE_SIGNATURE SIGNATURE_32('B', 'G', 'R', 'T')
1924 
1925 ///
1926 /// "CPEP" Corrected Platform Error Polling Table
1927 ///
1928 #define EFI_ACPI_5_1_CORRECTED_PLATFORM_ERROR_POLLING_TABLE_SIGNATURE SIGNATURE_32('C', 'P', 'E', 'P')
1929 
1930 ///
1931 /// "DSDT" Differentiated System Description Table
1932 ///
1933 #define EFI_ACPI_5_1_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('D', 'S', 'D', 'T')
1934 
1935 ///
1936 /// "ECDT" Embedded Controller Boot Resources Table
1937 ///
1938 #define EFI_ACPI_5_1_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_SIGNATURE SIGNATURE_32('E', 'C', 'D', 'T')
1939 
1940 ///
1941 /// "EINJ" Error Injection Table
1942 ///
1943 #define EFI_ACPI_5_1_ERROR_INJECTION_TABLE_SIGNATURE SIGNATURE_32('E', 'I', 'N', 'J')
1944 
1945 ///
1946 /// "ERST" Error Record Serialization Table
1947 ///
1948 #define EFI_ACPI_5_1_ERROR_RECORD_SERIALIZATION_TABLE_SIGNATURE SIGNATURE_32('E', 'R', 'S', 'T')
1949 
1950 ///
1951 /// "FACP" Fixed ACPI Description Table
1952 ///
1953 #define EFI_ACPI_5_1_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('F', 'A', 'C', 'P')
1954 
1955 ///
1956 /// "FACS" Firmware ACPI Control Structure
1957 ///
1958 #define EFI_ACPI_5_1_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE SIGNATURE_32('F', 'A', 'C', 'S')
1959 
1960 ///
1961 /// "FPDT" Firmware Performance Data Table
1962 ///
1963 #define EFI_ACPI_5_1_FIRMWARE_PERFORMANCE_DATA_TABLE_SIGNATURE SIGNATURE_32('F', 'P', 'D', 'T')
1964 
1965 ///
1966 /// "GTDT" Generic Timer Description Table
1967 ///
1968 #define EFI_ACPI_5_1_GENERIC_TIMER_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('G', 'T', 'D', 'T')
1969 
1970 ///
1971 /// "HEST" Hardware Error Source Table
1972 ///
1973 #define EFI_ACPI_5_1_HARDWARE_ERROR_SOURCE_TABLE_SIGNATURE SIGNATURE_32('H', 'E', 'S', 'T')
1974 
1975 ///
1976 /// "MPST" Memory Power State Table
1977 ///
1978 #define EFI_ACPI_5_1_MEMORY_POWER_STATE_TABLE_SIGNATURE SIGNATURE_32('M', 'P', 'S', 'T')
1979 
1980 ///
1981 /// "MSCT" Maximum System Characteristics Table
1982 ///
1983 #define EFI_ACPI_5_1_MAXIMUM_SYSTEM_CHARACTERISTICS_TABLE_SIGNATURE SIGNATURE_32('M', 'S', 'C', 'T')
1984 
1985 ///
1986 /// "PMTT" Platform Memory Topology Table
1987 ///
1988 #define EFI_ACPI_5_1_PLATFORM_MEMORY_TOPOLOGY_TABLE_SIGNATURE SIGNATURE_32('P', 'M', 'T', 'T')
1989 
1990 ///
1991 /// "PSDT" Persistent System Description Table
1992 ///
1993 #define EFI_ACPI_5_1_PERSISTENT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('P', 'S', 'D', 'T')
1994 
1995 ///
1996 /// "RASF" ACPI RAS Feature Table
1997 ///
1998 #define EFI_ACPI_5_1_ACPI_RAS_FEATURE_TABLE_SIGNATURE SIGNATURE_32('R', 'A', 'S', 'F')
1999 
2000 ///
2001 /// "RSDT" Root System Description Table
2002 ///
2003 #define EFI_ACPI_5_1_ROOT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('R', 'S', 'D', 'T')
2004 
2005 ///
2006 /// "SBST" Smart Battery Specification Table
2007 ///
2008 #define EFI_ACPI_5_1_SMART_BATTERY_SPECIFICATION_TABLE_SIGNATURE SIGNATURE_32('S', 'B', 'S', 'T')
2009 
2010 ///
2011 /// "SLIT" System Locality Information Table
2012 ///
2013 #define EFI_ACPI_5_1_SYSTEM_LOCALITY_INFORMATION_TABLE_SIGNATURE SIGNATURE_32('S', 'L', 'I', 'T')
2014 
2015 ///
2016 /// "SRAT" System Resource Affinity Table
2017 ///
2018 #define EFI_ACPI_5_1_SYSTEM_RESOURCE_AFFINITY_TABLE_SIGNATURE SIGNATURE_32('S', 'R', 'A', 'T')
2019 
2020 ///
2021 /// "SSDT" Secondary System Description Table
2022 ///
2023 #define EFI_ACPI_5_1_SECONDARY_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('S', 'S', 'D', 'T')
2024 
2025 ///
2026 /// "XSDT" Extended System Description Table
2027 ///
2028 #define EFI_ACPI_5_1_EXTENDED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('X', 'S', 'D', 'T')
2029 
2030 ///
2031 /// "BOOT" MS Simple Boot Spec
2032 ///
2033 #define EFI_ACPI_5_1_SIMPLE_BOOT_FLAG_TABLE_SIGNATURE SIGNATURE_32('B', 'O', 'O', 'T')
2034 
2035 ///
2036 /// "CSRT" MS Core System Resource Table
2037 ///
2038 #define EFI_ACPI_5_1_CORE_SYSTEM_RESOURCE_TABLE_SIGNATURE SIGNATURE_32('C', 'S', 'R', 'T')
2039 
2040 ///
2041 /// "DBG2" MS Debug Port 2 Spec
2042 ///
2043 #define EFI_ACPI_5_1_DEBUG_PORT_2_TABLE_SIGNATURE SIGNATURE_32('D', 'B', 'G', '2')
2044 
2045 ///
2046 /// "DBGP" MS Debug Port Spec
2047 ///
2048 #define EFI_ACPI_5_1_DEBUG_PORT_TABLE_SIGNATURE SIGNATURE_32('D', 'B', 'G', 'P')
2049 
2050 ///
2051 /// "DMAR" DMA Remapping Table
2052 ///
2053 #define EFI_ACPI_5_1_DMA_REMAPPING_TABLE_SIGNATURE SIGNATURE_32('D', 'M', 'A', 'R')
2054 
2055 ///
2056 /// "DRTM" Dynamic Root of Trust for Measurement Table
2057 ///
2058 #define EFI_ACPI_5_1_DYNAMIC_ROOT_OF_TRUST_FOR_MEASUREMENT_TABLE_SIGNATURE SIGNATURE_32('D', 'R', 'T', 'M')
2059 
2060 ///
2061 /// "ETDT" Event Timer Description Table
2062 ///
2063 #define EFI_ACPI_5_1_EVENT_TIMER_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('E', 'T', 'D', 'T')
2064 
2065 ///
2066 /// "HPET" IA-PC High Precision Event Timer Table
2067 ///
2068 #define EFI_ACPI_5_1_HIGH_PRECISION_EVENT_TIMER_TABLE_SIGNATURE SIGNATURE_32('H', 'P', 'E', 'T')
2069 
2070 ///
2071 /// "iBFT" iSCSI Boot Firmware Table
2072 ///
2073 #define EFI_ACPI_5_1_ISCSI_BOOT_FIRMWARE_TABLE_SIGNATURE SIGNATURE_32('i', 'B', 'F', 'T')
2074 
2075 ///
2076 /// "IVRS" I/O Virtualization Reporting Structure
2077 ///
2078 #define EFI_ACPI_5_1_IO_VIRTUALIZATION_REPORTING_STRUCTURE_SIGNATURE SIGNATURE_32('I', 'V', 'R', 'S')
2079 
2080 ///
2081 /// "LPIT" Low Power Idle Table
2082 ///
2083 #define EFI_ACPI_5_1_IO_LOW_POWER_IDLE_TABLE_STRUCTURE_SIGNATURE SIGNATURE_32('L', 'P', 'I', 'T')
2084 
2085 ///
2086 /// "MCFG" PCI Express Memory Mapped Configuration Space Base Address Description Table
2087 ///
2088 #define EFI_ACPI_5_1_PCI_EXPRESS_MEMORY_MAPPED_CONFIGURATION_SPACE_BASE_ADDRESS_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('M', 'C', 'F', 'G')
2089 
2090 ///
2091 /// "MCHI" Management Controller Host Interface Table
2092 ///
2093 #define EFI_ACPI_5_1_MANAGEMENT_CONTROLLER_HOST_INTERFACE_TABLE_SIGNATURE SIGNATURE_32('M', 'C', 'H', 'I')
2094 
2095 ///
2096 /// "MSDM" MS Data Management Table
2097 ///
2098 #define EFI_ACPI_5_1_DATA_MANAGEMENT_TABLE_SIGNATURE SIGNATURE_32('M', 'S', 'D', 'M')
2099 
2100 ///
2101 /// "PCCT" Platform Communications Channel Table
2102 ///
2103 #define EFI_ACPI_5_1_PLATFORM_COMMUNICATIONS_CHANNEL_TABLE_SIGNATURE SIGNATURE_32('P', 'C', 'C', 'T')
2104 
2105 ///
2106 /// "SLIC" MS Software Licensing Table Specification
2107 ///
2108 #define EFI_ACPI_5_1_SOFTWARE_LICENSING_TABLE_SIGNATURE SIGNATURE_32('S', 'L', 'I', 'C')
2109 
2110 ///
2111 /// "SPCR" Serial Port Console Redirection Table
2112 ///
2113 #define EFI_ACPI_5_1_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'C', 'R')
2114 
2115 ///
2116 /// "SPMI" Server Platform Management Interface Table
2117 ///
2118 #define EFI_ACPI_5_1_SERVER_PLATFORM_MANAGEMENT_INTERFACE_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'M', 'I')
2119 
2120 ///
2121 /// "TCPA" Trusted Computing Platform Alliance Capabilities Table
2122 ///
2123 #define EFI_ACPI_5_1_TRUSTED_COMPUTING_PLATFORM_ALLIANCE_CAPABILITIES_TABLE_SIGNATURE SIGNATURE_32('T', 'C', 'P', 'A')
2124 
2125 ///
2126 /// "TPM2" Trusted Computing Platform 1 Table
2127 ///
2128 #define EFI_ACPI_5_1_TRUSTED_COMPUTING_PLATFORM_2_TABLE_SIGNATURE SIGNATURE_32('T', 'P', 'M', '2')
2129 
2130 ///
2131 /// "UEFI" UEFI ACPI Data Table
2132 ///
2133 #define EFI_ACPI_5_1_UEFI_ACPI_DATA_TABLE_SIGNATURE SIGNATURE_32('U', 'E', 'F', 'I')
2134 
2135 ///
2136 /// "WAET" Windows ACPI Emulated Devices Table
2137 ///
2138 #define EFI_ACPI_5_1_WINDOWS_ACPI_EMULATED_DEVICES_TABLE_SIGNATURE SIGNATURE_32('W', 'A', 'E', 'T')
2139 
2140 ///
2141 /// "WDAT" Watchdog Action Table
2142 ///
2143 #define EFI_ACPI_5_1_WATCHDOG_ACTION_TABLE_SIGNATURE SIGNATURE_32('W', 'D', 'A', 'T')
2144 
2145 ///
2146 /// "WDRT" Watchdog Resource Table
2147 ///
2148 #define EFI_ACPI_5_1_WATCHDOG_RESOURCE_TABLE_SIGNATURE SIGNATURE_32('W', 'D', 'R', 'T')
2149 
2150 ///
2151 /// "WPBT" MS Platform Binary Table
2152 ///
2153 #define EFI_ACPI_5_1_PLATFORM_BINARY_TABLE_SIGNATURE SIGNATURE_32('W', 'P', 'B', 'T')
2154 
2155 #pragma pack()
2156 
2157 #endif
Boot Error Record Table (BERT)
Definition: Acpi51.h:1354
Generic Hardware Error Source Structure Definition.
Definition: Acpi51.h:1628
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi51.h:1425
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi51.h:1012
UINT64 Value
Definition: Acpi51.h:1813
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi51.h:1742
Smart Battery Description Table (SBST)
Definition: Acpi51.h:585
EFI_ACPI_5_1_PMMT_COMMON_MEMORY_AGGREGATOR_DEVICE_STRUCTURE Header
Definition: Acpi51.h:974
EFI_ACPI_5_1_HARDWARE_ERROR_NOTIFICATION_STRUCTURE NotificationStructure
Definition: Acpi51.h:1538
FILE_LICENCE(BSD2_PATENT)
Firmware ACPI Control Structure.
Definition: Acpi51.h:247
Memory Topology Table definition.
Definition: Acpi51.h:942
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi51.h:1251
UINT64 AverageResume
Average timer value of all resume cycles logged since the last full boot sequence,...
Definition: Acpi51.h:1226
UINT64 Value
Definition: Acpi51.h:1734
Processor Local APIC Structure Definition.
Definition: Acpi51.h:338
Interrupt Source Override Structure.
Definition: Acpi51.h:366
Corrected Platform Error Polling Processor Structure Definition.
Definition: Acpi51.h:749
UINT64 BootPerformanceTablePointer
64-bit processor-relative physical address of the Basic Boot Performance Table.
Definition: Acpi51.h:1126
Boot Error Region Definition.
Definition: Acpi51.h:1380
DIMM Memory Aggregator Device Structure.
Definition: Acpi51.h:1000
Memory Affinity Structure Definition.
Definition: Acpi51.h:662
FPDT S3 Performance Table Pointer Record Structure.
Definition: Acpi51.h:1132
HEST - Hardware Error Source Table.
Definition: Acpi51.h:1424
Processor Local x2APIC Affinity Structure Definition.
Definition: Acpi51.h:686
UINT64 ExitBootServicesEntry
Timer value logged at the point when the OS loader calls the ExitBootServices function for UEFI compa...
Definition: Acpi51.h:1168
EFI_ACPI_5_1_FPDT_PERFORMANCE_RECORD_HEADER Header
Definition: Acpi51.h:1145
SBSA Generic Watchdog Structure.
Definition: Acpi51.h:1334
FPDT Firmware Basic Boot Performance Pointer Record Structure.
Definition: Acpi51.h:1120
GICC Affinity Structure Definition.
Definition: Acpi51.h:700
EFI_ACPI_5_1_FPDT_PERFORMANCE_RECORD_HEADER Header
Definition: Acpi51.h:1211
UINT64 SuspendEnd
Timer value recorded at the final firmware write to SLP_TYP (or other mechanism) used to trigger hard...
Definition: Acpi51.h:1244
UINT8 ValidationBits
Definition: Acpi51.h:1409
EFI_ACPI_5_1_FPDT_PERFORMANCE_RECORD_HEADER Header
Definition: Acpi51.h:1233
Platform Interrupt Sources Structure.
Definition: Acpi51.h:460
UINT16 Revision
Definition: Acpi51.h:1408
EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE EcControl
Definition: Acpi51.h:604
unsigned int UINT32
Definition: ProcessorBind.h:98
PCC Subspace Structure Header.
Definition: Acpi51.h:1854
Local APIC Address Override Structure.
Definition: Acpi51.h:423
Generic Error Data Entry Definition.
Definition: Acpi51.h:1405
EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE EcData
Definition: Acpi51.h:605
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi51.h:789
MemoryController Memory Aggregator Device Structure.
Definition: Acpi51.h:983
EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE ErrorStatusAddress
Definition: Acpi51.h:1637
FPDT Firmware Basic Boot Performance Record Structure.
Definition: Acpi51.h:1144
Generic Error Status Definition.
Definition: Acpi51.h:1645
FPDT Basic S3 Suspend Performance Record.
Definition: Acpi51.h:1232
FPDT Performance Record header.
Definition: Acpi51.h:1103
EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE XPmTmrBlk
Definition: Acpi51.h:173
Generic Communications Subspace Structure.
Definition: Acpi51.h:1862
UINT64 FullResume
Timer recorded at the end of BIOS S3 resume, just prior to handoff to the OS waking vector.
Definition: Acpi51.h:1220
unsigned char UINT8
UINT8 InjectionAction
Definition: Acpi51.h:1808
ACPI RASF Parameter Block structure for PATROL_SCRUB.
Definition: Acpi51.h:826
MPST Memory Power State Characteristics Table.
Definition: Acpi51.h:921
IA-32 Architecture NMI Error Structure Definition.
Definition: Acpi51.h:1546
EINJ Injection Instruction Entry.
Definition: Acpi51.h:1807
Local APIC NMI Structure.
Definition: Acpi51.h:412
EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE RegisterRegion
Definition: Acpi51.h:1733
UINT64 ImageAddress
8-byte (64 bit) physical address pointing to the firmware's in-memory copy of the image bitmap.
Definition: Acpi51.h:1033
EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE XGpe1Blk
Definition: Acpi51.h:175
UINT32 ErrorDataLength
Definition: Acpi51.h:1411
GIC MSI Frame Structure.
Definition: Acpi51.h:555
EFI_ACPI_5_1_ERROR_BLOCK_STATUS BlockStatus
Definition: Acpi51.h:1381
Fixed ACPI Description Table Structure (FADT)
Definition: Acpi51.h:122
UINT32 PerformanceInterruptGsiv
Definition: Acpi51.h:513
Non-Maskable Interrupt Source Structure.
Definition: Acpi51.h:402
Local x2APIC NMI Structure.
Definition: Acpi51.h:493
ACPI RASF Platform Communication Channel Shared Memory Region definition.
Definition: Acpi51.h:801
IA-32 Architecture Machine Check Bank Structure Definition.
Definition: Acpi51.h:1471
UINT8 Reserved0
Definition: Acpi51.h:1732
EFI_ACPI_5_1_ERROR_BLOCK_STATUS BlockStatus
Definition: Acpi51.h:1646
Processor Local APIC/SAPIC Affinity Structure Definition.
Definition: Acpi51.h:643
UINT64 ResetEnd
Timer value logged at the beginning of firmware image execution.
Definition: Acpi51.h:1151
ACPI 5.1 Generic Address Space definition.
Definition: Acpi51.h:36
Local SAPIC Structure This struct followed by a null-terminated ASCII string - ACPI Processor UID Str...
Definition: Acpi51.h:446
EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE DoorbellRegister
Definition: Acpi51.h:1868
EFI_ACPI_5_1_PMMT_COMMON_MEMORY_AGGREGATOR_DEVICE_STRUCTURE Header
Definition: Acpi51.h:984
ERST - Error Record Serialization Table.
Definition: Acpi51.h:1656
Common Memory Aggregator Device Structure.
Definition: Acpi51.h:955
Common table header, this prefaces all ACPI tables, including FACS, but excluding the RSD PTR structu...
Definition: Acpi51.h:92
EINJ - Error Injection Table.
Definition: Acpi51.h:1741
UINT64 S3PerformanceTablePointer
64-bit processor-relative physical address of the S3 Performance Table.
Definition: Acpi51.h:1138
Boot Error Region Block Status Definition.
Definition: Acpi51.h:1368
EFI_ACPI_5_1_FPDT_PERFORMANCE_RECORD_HEADER Header
Definition: Acpi51.h:1121
UINT32 ResumeCount
A count of the number of S3 resume cycles since the last full boot sequence.
Definition: Acpi51.h:1215
UINT64 Mask
Definition: Acpi51.h:1735
EFI_ACPI_5_1_FPDT_PERFORMANCE_TABLE_HEADER Header
Definition: Acpi51.h:1186
UINT8 Instruction
Definition: Acpi51.h:1809
EFI_ACPI_5_1_HARDWARE_ERROR_NOTIFICATION_STRUCTURE NotificationStructure
Definition: Acpi51.h:1638
unsigned short UINT16
UINT8 Reserved
Must be zero.
Definition: Acpi30.h:50
Multiple APIC Description Table header definition.
Definition: Acpi51.h:293
PCI Express Bridge AER Structure Definition.
Definition: Acpi51.h:1603
System Resource Affinity Table (SRAT).
Definition: Acpi51.h:619
ERST Serialization Instruction Entry.
Definition: Acpi51.h:1728
MPST Platform Communication Channel Shared Memory Region definition.
Definition: Acpi51.h:863
EFI_ACPI_5_1_PCCT_GENERIC_SHARED_MEMORY_REGION_STATUS Status
Definition: Acpi51.h:1898
UINT8 Flags
Definition: Acpi51.h:1410
Socket Memory Aggregator Device Structure.
Definition: Acpi51.h:973
Memory Power State Table definition.
Definition: Acpi51.h:847
Generic Communications Channel Shared Memory Region.
Definition: Acpi51.h:1880
UINT8 Instruction
Definition: Acpi51.h:1730
System Locality Distance Information Table (SLIT).
Definition: Acpi51.h:718
IA-32 Architecture Machine Check Exception Structure Definition.
Definition: Acpi51.h:1454
UINT8 Flags
Definition: Acpi51.h:1810
Corrected Platform Error Polling Table (CPEP)
Definition: Acpi51.h:731
EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE XPm1aCntBlk
Definition: Acpi51.h:170
The common ACPI description table header.
Definition: Acpi10.h:29
GT Block Timer Structure.
Definition: Acpi51.h:1307
UINT64 Mask
Definition: Acpi51.h:1814
UINT8 SerializationAction
Definition: Acpi51.h:1729
UINT8 Status
1-byte status field indicating current status about the table.
Definition: Acpi51.h:1022
EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE XPm1aEvtBlk
Definition: Acpi51.h:168
EFI_ACPI_5_1_FPDT_PERFORMANCE_TABLE_HEADER Header
Definition: Acpi51.h:1201
GICR Structure.
Definition: Acpi51.h:574
UINT64 DiscoveryRangeBaseAddress
Definition: Acpi51.h:578
UINT64 SuspendStart
Timer value recorded at the OS write to SLP_TYP upon entry to S3.
Definition: Acpi51.h:1238
EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE XGpe0Blk
Definition: Acpi51.h:174
EFI_ACPI_5_1_PCCT_GENERIC_SHARED_MEMORY_REGION_COMMAND Command
Definition: Acpi51.h:1897
EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE SleepStatusReg
Definition: Acpi51.h:177
Root System Description Pointer Structure.
Definition: Acpi51.h:71
unsigned long long UINT64
Definition: ProcessorBind.h:96
ACPI 5.0 definitions from the ACPI Specification Revision 5.0a November 13, 2013.
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi51.h:848
Hardware Error Notification Structure Definition.
Definition: Acpi51.h:1515
GIC Distributor Structure.
Definition: Acpi51.h:533
GIC Structure.
Definition: Acpi51.h:505
IA-32 Architecture Corrected Machine Check Structure Definition.
Definition: Acpi51.h:1530
EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE XPm2CntBlk
Definition: Acpi51.h:172
UINT32 VGICMaintenanceInterrupt
Definition: Acpi51.h:518
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi51.h:123
PCI Express Device AER Structure Definition.
Definition: Acpi51.h:1581
UINT8 Flags
Definition: Acpi51.h:1731
EFI_ACPI_5_1_PMMT_COMMON_MEMORY_AGGREGATOR_DEVICE_STRUCTURE Header
Definition: Acpi51.h:1001
Embedded Controller Boot Resources Table (ECDT) The table is followed by a null terminated ASCII stri...
Definition: Acpi51.h:602
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi51.h:586
Firmware Performance Record Table definition.
Definition: Acpi51.h:1250
IO APIC Structure.
Definition: Acpi51.h:354
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi51.h:1258
Generic Timer Description Table definition.
Definition: Acpi51.h:1257
EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE ResetReg
Definition: Acpi51.h:162
ACPI RAS Feature Table definition.
Definition: Acpi51.h:788
Platform Interrupt Sources Structure Definition.
Definition: Acpi51.h:378
IO SAPIC Structure.
Definition: Acpi51.h:433
UINT32 ErrorSeverity
Definition: Acpi51.h:1407
MPST Memory Power Node Table.
Definition: Acpi51.h:891
UINT32 ImageOffsetY
A 4-byte (32-bit) unsigned long describing the display Y-offset of the boot image.
Definition: Acpi51.h:1045
UINT64 OsLoaderStartImageStart
Timer value logged just prior to launching the previously loaded OS boot loader image.
Definition: Acpi51.h:1162
Hardware Error Notification Configuration Write Enable Structure Definition.
Definition: Acpi51.h:1502
Boot Graphics Resource Table definition.
Definition: Acpi51.h:1011
Maximum Proximity Domain Information Structure Definition.
Definition: Acpi51.h:776
UINT8 ImageType
1-byte enumerated type field indicating format of the image.
Definition: Acpi51.h:1028
UINT64 ExitBootServicesExit
Timer value logged at the point just prior to when the OS loader gaining control back from calls the ...
Definition: Acpi51.h:1174
UINT64 OsLoaderLoadImageStart
Timer value logged just prior to loading the OS boot loader into memory.
Definition: Acpi51.h:1156
UINT32 ImageOffsetX
A 4-byte (32-bit) unsigned long describing the display X-offset of the boot image.
Definition: Acpi51.h:1039
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi51.h:1355
UINT16 Version
2-bytes (16 bit) version ID.
Definition: Acpi51.h:1016
EFI_ACPI_5_1_HARDWARE_ERROR_NOTIFICATION_CONFIGURATION_WRITE_ENABLE_STRUCTURE ConfigurationWriteEnable
Definition: Acpi51.h:1518
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi51.h:943
EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE XPm1bCntBlk
Definition: Acpi51.h:171
Processor Local x2APIC Structure Definition.
Definition: Acpi51.h:481
FPDT Performance Table header.
Definition: Acpi51.h:1112
Platform Communications Channel Table (PCCT)
Definition: Acpi51.h:1830
PCI Express Root Port AER Structure Definition.
Definition: Acpi51.h:1558
EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE XPm1bEvtBlk
Definition: Acpi51.h:169
EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE RegisterRegion
Definition: Acpi51.h:1812
EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE SleepControlReg
Definition: Acpi51.h:176
Maximum System Characteristics Table (MSCT)
Definition: Acpi51.h:760
EINJ Trigger Action Table.
Definition: Acpi51.h:1820
FPDT Basic S3 Resume Performance Record.
Definition: Acpi51.h:1210
EFI_ACPI_5_1_FPDT_PERFORMANCE_RECORD_HEADER Header
Definition: Acpi51.h:1133
UINT8 Reserved0
Definition: Acpi51.h:1811