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  Copyright (C) 2024, Advanced Micro Devices, Inc. All rights reserved.
9  SPDX-License-Identifier: BSD-2-Clause-Patent
10 **/
11 
12 #ifndef _ACPI_5_1_H_
13 #define _ACPI_5_1_H_
14 
15 FILE_LICENCE ( BSD2_PATENT );
16 FILE_SECBOOT ( PERMITTED );
17 
19 
20 ///
21 /// _CSD Revision for ACPI 5.1
22 ///
23 #define EFI_ACPI_5_1_AML_CSD_REVISION 0
24 
25 ///
26 /// _CSD NumEntries for ACPI 5.1
27 ///
28 #define EFI_ACPI_5_1_AML_CSD_NUM_ENTRIES 6
29 
30 ///
31 /// _PSD Revision for ACPI 5.1
32 ///
33 #define EFI_ACPI_5_1_AML_PSD_REVISION 0
34 
35 ///
36 /// _CPC Revision for ACPI 5.1
37 ///
38 #define EFI_ACPI_5_1_AML_CPC_REVISION 2
39 
40 //
41 // Ensure proper structure formats
42 //
43 #pragma pack(1)
44 
45 ///
46 /// ACPI 5.1 Generic Address Space definition
47 ///
48 typedef struct {
55 
56 //
57 // Generic Address Space Address IDs
58 //
59 #define EFI_ACPI_5_1_SYSTEM_MEMORY 0
60 #define EFI_ACPI_5_1_SYSTEM_IO 1
61 #define EFI_ACPI_5_1_PCI_CONFIGURATION_SPACE 2
62 #define EFI_ACPI_5_1_EMBEDDED_CONTROLLER 3
63 #define EFI_ACPI_5_1_SMBUS 4
64 #define EFI_ACPI_5_1_PLATFORM_COMMUNICATION_CHANNEL 0x0A
65 #define EFI_ACPI_5_1_FUNCTIONAL_FIXED_HARDWARE 0x7F
66 
67 //
68 // Generic Address Space Access Sizes
69 //
70 #define EFI_ACPI_5_1_UNDEFINED 0
71 #define EFI_ACPI_5_1_BYTE 1
72 #define EFI_ACPI_5_1_WORD 2
73 #define EFI_ACPI_5_1_DWORD 3
74 #define EFI_ACPI_5_1_QWORD 4
75 
76 //
77 // ACPI 5.1 table structures
78 //
79 
80 ///
81 /// Root System Description Pointer Structure
82 ///
83 typedef struct {
86  UINT8 OemId[6];
94 
95 ///
96 /// RSD_PTR Revision (as defined in ACPI 5.1 spec.)
97 ///
98 #define EFI_ACPI_5_1_ROOT_SYSTEM_DESCRIPTION_POINTER_REVISION 0x02 ///< ACPISpec (Revision 5.1) says current value is 2
99 
100 ///
101 /// Common table header, this prefaces all ACPI tables, including FACS, but
102 /// excluding the RSD PTR structure
103 ///
104 typedef struct {
108 
109 //
110 // Root System Description Table
111 // No definition needed as it is a common description table header, the same with
112 // EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT32 table pointers.
113 //
114 
115 ///
116 /// RSDT Revision (as defined in ACPI 5.1 spec.)
117 ///
118 #define EFI_ACPI_5_1_ROOT_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01
119 
120 //
121 // Extended System Description Table
122 // No definition needed as it is a common description table header, the same with
123 // EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT64 table pointers.
124 //
125 
126 ///
127 /// XSDT Revision (as defined in ACPI 5.1 spec.)
128 ///
129 #define EFI_ACPI_5_1_EXTENDED_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01
130 
131 ///
132 /// Fixed ACPI Description Table Structure (FADT)
133 ///
134 typedef struct {
191 
192 ///
193 /// FADT Version (as defined in ACPI 5.1 spec.)
194 ///
195 #define EFI_ACPI_5_1_FIXED_ACPI_DESCRIPTION_TABLE_REVISION 0x05
196 #define EFI_ACPI_5_1_FIXED_ACPI_DESCRIPTION_TABLE_MINOR_REVISION 0x01
197 
198 //
199 // Fixed ACPI Description Table Preferred Power Management Profile
200 //
201 #define EFI_ACPI_5_1_PM_PROFILE_UNSPECIFIED 0
202 #define EFI_ACPI_5_1_PM_PROFILE_DESKTOP 1
203 #define EFI_ACPI_5_1_PM_PROFILE_MOBILE 2
204 #define EFI_ACPI_5_1_PM_PROFILE_WORKSTATION 3
205 #define EFI_ACPI_5_1_PM_PROFILE_ENTERPRISE_SERVER 4
206 #define EFI_ACPI_5_1_PM_PROFILE_SOHO_SERVER 5
207 #define EFI_ACPI_5_1_PM_PROFILE_APPLIANCE_PC 6
208 #define EFI_ACPI_5_1_PM_PROFILE_PERFORMANCE_SERVER 7
209 #define EFI_ACPI_5_1_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_5_1_LEGACY_DEVICES BIT0
216 #define EFI_ACPI_5_1_8042 BIT1
217 #define EFI_ACPI_5_1_VGA_NOT_PRESENT BIT2
218 #define EFI_ACPI_5_1_MSI_NOT_SUPPORTED BIT3
219 #define EFI_ACPI_5_1_PCIE_ASPM_CONTROLS BIT4
220 #define EFI_ACPI_5_1_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_5_1_ARM_PSCI_COMPLIANT BIT0
227 #define EFI_ACPI_5_1_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_5_1_WBINVD BIT0
234 #define EFI_ACPI_5_1_WBINVD_FLUSH BIT1
235 #define EFI_ACPI_5_1_PROC_C1 BIT2
236 #define EFI_ACPI_5_1_P_LVL2_UP BIT3
237 #define EFI_ACPI_5_1_PWR_BUTTON BIT4
238 #define EFI_ACPI_5_1_SLP_BUTTON BIT5
239 #define EFI_ACPI_5_1_FIX_RTC BIT6
240 #define EFI_ACPI_5_1_RTC_S4 BIT7
241 #define EFI_ACPI_5_1_TMR_VAL_EXT BIT8
242 #define EFI_ACPI_5_1_DCK_CAP BIT9
243 #define EFI_ACPI_5_1_RESET_REG_SUP BIT10
244 #define EFI_ACPI_5_1_SEALED_CASE BIT11
245 #define EFI_ACPI_5_1_HEADLESS BIT12
246 #define EFI_ACPI_5_1_CPU_SW_SLP BIT13
247 #define EFI_ACPI_5_1_PCI_EXP_WAK BIT14
248 #define EFI_ACPI_5_1_USE_PLATFORM_CLOCK BIT15
249 #define EFI_ACPI_5_1_S4_RTC_STS_VALID BIT16
250 #define EFI_ACPI_5_1_REMOTE_POWER_ON_CAPABLE BIT17
251 #define EFI_ACPI_5_1_FORCE_APIC_CLUSTER_MODEL BIT18
252 #define EFI_ACPI_5_1_FORCE_APIC_PHYSICAL_DESTINATION_MODE BIT19
253 #define EFI_ACPI_5_1_HW_REDUCED_ACPI BIT20
254 #define EFI_ACPI_5_1_LOW_POWER_S0_IDLE_CAPABLE BIT21
255 
256 ///
257 /// Firmware ACPI Control Structure
258 ///
259 typedef struct {
268  UINT8 Reserved0[3];
270  UINT8 Reserved1[24];
272 
273 ///
274 /// FACS Version (as defined in ACPI 5.1 spec.)
275 ///
276 #define EFI_ACPI_5_1_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_5_1_S4BIOS_F BIT0
283 #define EFI_ACPI_5_1_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_5_1_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_5_1_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_REVISION 0x02
299 #define EFI_ACPI_5_1_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 ///
305 typedef struct {
310 
311 ///
312 /// MADT Revision (as defined in ACPI 5.1 spec.)
313 ///
314 #define EFI_ACPI_5_1_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION 0x03
315 
316 ///
317 /// Multiple APIC Flags
318 /// All other bits are reserved and must be set to 0.
319 ///
320 #define EFI_ACPI_5_1_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_5_1_PROCESSOR_LOCAL_APIC 0x00
328 #define EFI_ACPI_5_1_IO_APIC 0x01
329 #define EFI_ACPI_5_1_INTERRUPT_SOURCE_OVERRIDE 0x02
330 #define EFI_ACPI_5_1_NON_MASKABLE_INTERRUPT_SOURCE 0x03
331 #define EFI_ACPI_5_1_LOCAL_APIC_NMI 0x04
332 #define EFI_ACPI_5_1_LOCAL_APIC_ADDRESS_OVERRIDE 0x05
333 #define EFI_ACPI_5_1_IO_SAPIC 0x06
334 #define EFI_ACPI_5_1_LOCAL_SAPIC 0x07
335 #define EFI_ACPI_5_1_PLATFORM_INTERRUPT_SOURCES 0x08
336 #define EFI_ACPI_5_1_PROCESSOR_LOCAL_X2APIC 0x09
337 #define EFI_ACPI_5_1_LOCAL_X2APIC_NMI 0x0A
338 #define EFI_ACPI_5_1_GIC 0x0B
339 #define EFI_ACPI_5_1_GICD 0x0C
340 #define EFI_ACPI_5_1_GIC_MSI_FRAME 0x0D
341 #define EFI_ACPI_5_1_GICR 0x0E
342 
343 //
344 // APIC Structure Definitions
345 //
346 
347 ///
348 /// Processor Local APIC Structure Definition
349 ///
350 typedef struct {
357 
358 ///
359 /// Local APIC Flags. All other bits are reserved and must be 0.
360 ///
361 #define EFI_ACPI_5_1_LOCAL_APIC_ENABLED BIT0
362 
363 ///
364 /// IO APIC Structure
365 ///
366 typedef struct {
374 
375 ///
376 /// Interrupt Source Override Structure
377 ///
378 typedef struct {
386 
387 ///
388 /// Platform Interrupt Sources Structure Definition
389 ///
390 typedef struct {
403 
404 //
405 // MPS INTI flags.
406 // All other bits are reserved and must be set to 0.
407 //
408 #define EFI_ACPI_5_1_POLARITY (3 << 0)
409 #define EFI_ACPI_5_1_TRIGGER_MODE (3 << 2)
410 
411 ///
412 /// Non-Maskable Interrupt Source Structure
413 ///
414 typedef struct {
420 
421 ///
422 /// Local APIC NMI Structure
423 ///
424 typedef struct {
431 
432 ///
433 /// Local APIC Address Override Structure
434 ///
435 typedef struct {
441 
442 ///
443 /// IO SAPIC Structure
444 ///
445 typedef struct {
453 
454 ///
455 /// Local SAPIC Structure
456 /// This struct followed by a null-terminated ASCII string - ACPI Processor UID String
457 ///
458 typedef struct {
468 
469 ///
470 /// Platform Interrupt Sources Structure
471 ///
472 typedef struct {
483 
484 ///
485 /// Platform Interrupt Source Flags.
486 /// All other bits are reserved and must be set to 0.
487 ///
488 #define EFI_ACPI_5_1_CPEI_PROCESSOR_OVERRIDE BIT0
489 
490 ///
491 /// Processor Local x2APIC Structure Definition
492 ///
493 typedef struct {
501 
502 ///
503 /// Local x2APIC NMI Structure
504 ///
505 typedef struct {
513 
514 ///
515 /// GIC Structure
516 ///
517 typedef struct {
534 
535 ///
536 /// GIC Flags. All other bits are reserved and must be 0.
537 ///
538 #define EFI_ACPI_5_1_GIC_ENABLED BIT0
539 #define EFI_ACPI_5_1_PERFORMANCE_INTERRUPT_MODEL BIT1
540 #define EFI_ACPI_5_1_VGIC_MAINTENANCE_INTERRUPT_MODE_FLAGS BIT2
541 
542 ///
543 /// GIC Distributor Structure
544 ///
545 typedef struct {
553  UINT8 Reserved2[3];
555 
556 ///
557 /// GIC Version
558 ///
559 #define EFI_ACPI_5_1_GIC_V1 0x01
560 #define EFI_ACPI_5_1_GIC_V2 0x02
561 #define EFI_ACPI_5_1_GIC_V3 0x03
562 #define EFI_ACPI_5_1_GIC_V4 0x04
563 
564 ///
565 /// GIC MSI Frame Structure
566 ///
567 typedef struct {
577 
578 ///
579 /// GIC MSI Frame Flags. All other bits are reserved and must be 0.
580 ///
581 #define EFI_ACPI_5_1_SPI_COUNT_BASE_SELECT BIT0
582 
583 ///
584 /// GICR Structure
585 ///
586 typedef struct {
593 
594 ///
595 /// Smart Battery Description Table (SBST)
596 ///
597 typedef struct {
603 
604 ///
605 /// SBST Version (as defined in ACPI 5.1 spec.)
606 ///
607 #define EFI_ACPI_5_1_SMART_BATTERY_DESCRIPTION_TABLE_REVISION 0x01
608 
609 ///
610 /// Embedded Controller Boot Resources Table (ECDT)
611 /// The table is followed by a null terminated ASCII string that contains
612 /// a fully qualified reference to the name space object.
613 ///
614 typedef struct {
621 
622 ///
623 /// ECDT Version (as defined in ACPI 5.1 spec.)
624 ///
625 #define EFI_ACPI_5_1_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_REVISION 0x01
626 
627 ///
628 /// System Resource Affinity Table (SRAT). The rest of the table
629 /// must be defined in a platform specific manner.
630 ///
631 typedef struct {
633  UINT32 Reserved1; ///< Must be set to 1
636 
637 ///
638 /// SRAT Version (as defined in ACPI 5.1 spec.)
639 ///
640 #define EFI_ACPI_5_1_SYSTEM_RESOURCE_AFFINITY_TABLE_REVISION 0x03
641 
642 //
643 // SRAT structure types.
644 // All other values between 0x04 an 0xFF are reserved and
645 // will be ignored by OSPM.
646 //
647 #define EFI_ACPI_5_1_PROCESSOR_LOCAL_APIC_SAPIC_AFFINITY 0x00
648 #define EFI_ACPI_5_1_MEMORY_AFFINITY 0x01
649 #define EFI_ACPI_5_1_PROCESSOR_LOCAL_X2APIC_AFFINITY 0x02
650 #define EFI_ACPI_5_1_GICC_AFFINITY 0x03
651 
652 ///
653 /// Processor Local APIC/SAPIC Affinity Structure Definition
654 ///
655 typedef struct {
662  UINT8 ProximityDomain31To8[3];
665 
666 ///
667 /// Local APIC/SAPIC Flags. All other bits are reserved and must be 0.
668 ///
669 #define EFI_ACPI_5_1_PROCESSOR_LOCAL_APIC_SAPIC_ENABLED (1 << 0)
670 
671 ///
672 /// Memory Affinity Structure Definition
673 ///
674 typedef struct {
687 
688 //
689 // Memory Flags. All other bits are reserved and must be 0.
690 //
691 #define EFI_ACPI_5_1_MEMORY_ENABLED (1 << 0)
692 #define EFI_ACPI_5_1_MEMORY_HOT_PLUGGABLE (1 << 1)
693 #define EFI_ACPI_5_1_MEMORY_NONVOLATILE (1 << 2)
694 
695 ///
696 /// Processor Local x2APIC Affinity Structure Definition
697 ///
698 typedef struct {
701  UINT8 Reserved1[2];
706  UINT8 Reserved2[4];
708 
709 ///
710 /// GICC Affinity Structure Definition
711 ///
712 typedef struct {
720 
721 ///
722 /// GICC Flags. All other bits are reserved and must be 0.
723 ///
724 #define EFI_ACPI_5_1_GICC_ENABLED (1 << 0)
725 
726 ///
727 /// System Locality Distance Information Table (SLIT).
728 /// The rest of the table is a matrix.
729 ///
730 typedef struct {
734 
735 ///
736 /// SLIT Version (as defined in ACPI 5.1 spec.)
737 ///
738 #define EFI_ACPI_5_1_SYSTEM_LOCALITY_DISTANCE_INFORMATION_TABLE_REVISION 0x01
739 
740 ///
741 /// Corrected Platform Error Polling Table (CPEP)
742 ///
743 typedef struct {
747 
748 ///
749 /// CPEP Version (as defined in ACPI 5.1 spec.)
750 ///
751 #define EFI_ACPI_5_1_CORRECTED_PLATFORM_ERROR_POLLING_TABLE_REVISION 0x01
752 
753 //
754 // CPEP processor structure types.
755 //
756 #define EFI_ACPI_5_1_CPEP_PROCESSOR_APIC_SAPIC 0x00
757 
758 ///
759 /// Corrected Platform Error Polling Processor Structure Definition
760 ///
761 typedef struct {
768 
769 ///
770 /// Maximum System Characteristics Table (MSCT)
771 ///
772 typedef struct {
779 
780 ///
781 /// MSCT Version (as defined in ACPI 5.1 spec.)
782 ///
783 #define EFI_ACPI_5_1_MAXIMUM_SYSTEM_CHARACTERISTICS_TABLE_REVISION 0x01
784 
785 ///
786 /// Maximum Proximity Domain Information Structure Definition
787 ///
788 typedef struct {
796 
797 ///
798 /// ACPI RAS Feature Table definition.
799 ///
800 typedef struct {
802  UINT8 PlatformCommunicationChannelIdentifier[12];
804 
805 ///
806 /// RASF Version (as defined in ACPI 5.1 spec.)
807 ///
808 #define EFI_ACPI_5_1_RAS_FEATURE_TABLE_REVISION 0x01
809 
810 ///
811 /// ACPI RASF Platform Communication Channel Shared Memory Region definition.
812 ///
813 typedef struct {
818  UINT8 RASCapabilities[16];
819  UINT8 SetRASCapabilities[16];
823 
824 ///
825 /// ACPI RASF PCC command code
826 ///
827 #define EFI_ACPI_5_1_RASF_PCC_COMMAND_CODE_EXECUTE_RASF_COMMAND 0x01
828 
829 ///
830 /// ACPI RASF Platform RAS Capabilities
831 ///
832 #define EFI_ACPI_5_1_RASF_PLATFORM_RAS_CAPABILITY_HARDWARE_BASED_PATROL_SCRUB_SUPPOTED 0x01
833 #define EFI_ACPI_5_1_RASF_PLATFORM_RAS_CAPABILITY_HARDWARE_BASED_PATROL_SCRUB_SUPPOTED_AND_EXPOSED_TO_SOFTWARE 0x02
834 
835 ///
836 /// ACPI RASF Parameter Block structure for PATROL_SCRUB
837 ///
838 typedef struct {
843  UINT64 RequestedAddressRange[2];
844  UINT64 ActualAddressRange[2];
848 
849 ///
850 /// ACPI RASF Patrol Scrub command
851 ///
852 #define EFI_ACPI_5_1_RASF_PATROL_SCRUB_COMMAND_GET_PATROL_PARAMETERS 0x01
853 #define EFI_ACPI_5_1_RASF_PATROL_SCRUB_COMMAND_START_PATROL_SCRUBBER 0x02
854 #define EFI_ACPI_5_1_RASF_PATROL_SCRUB_COMMAND_STOP_PATROL_SCRUBBER 0x03
855 
856 ///
857 /// Memory Power State Table definition.
858 ///
859 typedef struct {
863  // Memory Power Node Structure
864  // Memory Power State Characteristics
866 
867 ///
868 /// MPST Version (as defined in ACPI 5.1 spec.)
869 ///
870 #define EFI_ACPI_5_1_MEMORY_POWER_STATE_TABLE_REVISION 0x01
871 
872 ///
873 /// MPST Platform Communication Channel Shared Memory Region definition.
874 ///
875 typedef struct {
886 
887 ///
888 /// ACPI MPST PCC command code
889 ///
890 #define EFI_ACPI_5_1_MPST_PCC_COMMAND_CODE_EXECUTE_MPST_COMMAND 0x03
891 
892 ///
893 /// ACPI MPST Memory Power command
894 ///
895 #define EFI_ACPI_5_1_MPST_MEMORY_POWER_COMMAND_GET_MEMORY_POWER_STATE 0x01
896 #define EFI_ACPI_5_1_MPST_MEMORY_POWER_COMMAND_SET_MEMORY_POWER_STATE 0x02
897 #define EFI_ACPI_5_1_MPST_MEMORY_POWER_COMMAND_GET_AVERAGE_POWER_CONSUMED 0x03
898 #define EFI_ACPI_5_1_MPST_MEMORY_POWER_COMMAND_GET_MEMORY_ENERGY_CONSUMED 0x04
899 
900 ///
901 /// MPST Memory Power Node Table
902 ///
903 typedef struct {
907 
908 typedef struct {
917  // EFI_ACPI_5_1_MPST_MEMORY_POWER_STATE MemoryPowerState[NumberOfPowerStates];
918  // UINT16 PhysicalComponentIdentifier[NumberOfPhysicalComponents];
920 
921 #define EFI_ACPI_5_1_MPST_MEMORY_POWER_STRUCTURE_FLAG_ENABLE 0x01
922 #define EFI_ACPI_5_1_MPST_MEMORY_POWER_STRUCTURE_FLAG_POWER_MANAGED 0x02
923 #define EFI_ACPI_5_1_MPST_MEMORY_POWER_STRUCTURE_FLAG_HOT_PLUGGABLE 0x04
924 
925 typedef struct {
929 
930 ///
931 /// MPST Memory Power State Characteristics Table
932 ///
933 typedef struct {
941 
942 #define EFI_ACPI_5_1_MPST_MEMORY_POWER_STATE_CHARACTERISTICS_STRUCTURE_FLAG_MEMORY_CONTENT_PRESERVED 0x01
943 #define EFI_ACPI_5_1_MPST_MEMORY_POWER_STATE_CHARACTERISTICS_STRUCTURE_FLAG_AUTONOMOUS_MEMORY_POWER_STATE_ENTRY 0x02
944 #define EFI_ACPI_5_1_MPST_MEMORY_POWER_STATE_CHARACTERISTICS_STRUCTURE_FLAG_AUTONOMOUS_MEMORY_POWER_STATE_EXIT 0x04
945 
946 typedef struct {
950 
951 ///
952 /// Memory Topology Table definition.
953 ///
954 typedef struct {
958 
959 ///
960 /// PMTT Version (as defined in ACPI 5.1 spec.)
961 ///
962 #define EFI_ACPI_5_1_MEMORY_TOPOLOGY_TABLE_REVISION 0x01
963 
964 ///
965 /// Common Memory Aggregator Device Structure.
966 ///
967 typedef struct {
974 
975 ///
976 /// Memory Aggregator Device Type
977 ///
978 #define EFI_ACPI_5_1_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_SOCKET 0x0
979 #define EFI_ACPI_5_1_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_MEMORY_CONTROLLER 0x1
980 #define EFI_ACPI_5_1_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_DIMM 0x2
981 
982 ///
983 /// Socket Memory Aggregator Device Structure.
984 ///
985 typedef struct {
989  // EFI_ACPI_5_1_PMMT_MEMORY_CONTROLLER_MEMORY_AGGREGATOR_DEVICE_STRUCTURE MemoryController[];
991 
992 ///
993 /// MemoryController Memory Aggregator Device Structure.
994 ///
995 typedef struct {
1005  // UINT32 ProximityDomain[NumberOfProximityDomains];
1006  // EFI_ACPI_5_1_PMMT_DIMM_MEMORY_AGGREGATOR_DEVICE_STRUCTURE PhysicalComponent[];
1008 
1009 ///
1010 /// DIMM Memory Aggregator Device Structure.
1011 ///
1012 typedef struct {
1019 
1020 ///
1021 /// Boot Graphics Resource Table definition.
1022 ///
1023 typedef struct {
1025  ///
1026  /// 2-bytes (16 bit) version ID. This value must be 1.
1027  ///
1029  ///
1030  /// 1-byte status field indicating current status about the table.
1031  /// Bits[7:1] = Reserved (must be zero)
1032  /// Bit [0] = Valid. A one indicates the boot image graphic is valid.
1033  ///
1035  ///
1036  /// 1-byte enumerated type field indicating format of the image.
1037  /// 0 = Bitmap
1038  /// 1 - 255 Reserved (for future use)
1039  ///
1041  ///
1042  /// 8-byte (64 bit) physical address pointing to the firmware's in-memory copy
1043  /// of the image bitmap.
1044  ///
1046  ///
1047  /// A 4-byte (32-bit) unsigned long describing the display X-offset of the boot image.
1048  /// (X, Y) display offset of the top left corner of the boot image.
1049  /// The top left corner of the display is at offset (0, 0).
1050  ///
1052  ///
1053  /// A 4-byte (32-bit) unsigned long describing the display Y-offset of the boot image.
1054  /// (X, Y) display offset of the top left corner of the boot image.
1055  /// The top left corner of the display is at offset (0, 0).
1056  ///
1059 
1060 ///
1061 /// BGRT Revision
1062 ///
1063 #define EFI_ACPI_5_1_BOOT_GRAPHICS_RESOURCE_TABLE_REVISION 1
1064 
1065 ///
1066 /// BGRT Version
1067 ///
1068 #define EFI_ACPI_5_1_BGRT_VERSION 0x01
1069 
1070 ///
1071 /// BGRT Status
1072 ///
1073 #define EFI_ACPI_5_1_BGRT_STATUS_NOT_DISPLAYED 0x00
1074 #define EFI_ACPI_5_1_BGRT_STATUS_DISPLAYED 0x01
1075 
1076 ///
1077 /// BGRT Image Type
1078 ///
1079 #define EFI_ACPI_5_1_BGRT_IMAGE_TYPE_BMP 0x00
1080 
1081 ///
1082 /// FPDT Version (as defined in ACPI 5.1 spec.)
1083 ///
1084 #define EFI_ACPI_5_1_FIRMWARE_PERFORMANCE_DATA_TABLE_REVISION 0x01
1085 
1086 ///
1087 /// FPDT Performance Record Types
1088 ///
1089 #define EFI_ACPI_5_1_FPDT_RECORD_TYPE_FIRMWARE_BASIC_BOOT_POINTER 0x0000
1090 #define EFI_ACPI_5_1_FPDT_RECORD_TYPE_S3_PERFORMANCE_TABLE_POINTER 0x0001
1091 
1092 ///
1093 /// FPDT Performance Record Revision
1094 ///
1095 #define EFI_ACPI_5_1_FPDT_RECORD_REVISION_FIRMWARE_BASIC_BOOT_POINTER 0x01
1096 #define EFI_ACPI_5_1_FPDT_RECORD_REVISION_S3_PERFORMANCE_TABLE_POINTER 0x01
1097 
1098 ///
1099 /// FPDT Runtime Performance Record Types
1100 ///
1101 #define EFI_ACPI_5_1_FPDT_RUNTIME_RECORD_TYPE_S3_RESUME 0x0000
1102 #define EFI_ACPI_5_1_FPDT_RUNTIME_RECORD_TYPE_S3_SUSPEND 0x0001
1103 #define EFI_ACPI_5_1_FPDT_RUNTIME_RECORD_TYPE_FIRMWARE_BASIC_BOOT 0x0002
1104 
1105 ///
1106 /// FPDT Runtime Performance Record Revision
1107 ///
1108 #define EFI_ACPI_5_1_FPDT_RUNTIME_RECORD_REVISION_S3_RESUME 0x01
1109 #define EFI_ACPI_5_1_FPDT_RUNTIME_RECORD_REVISION_S3_SUSPEND 0x01
1110 #define EFI_ACPI_5_1_FPDT_RUNTIME_RECORD_REVISION_FIRMWARE_BASIC_BOOT 0x02
1111 
1112 ///
1113 /// FPDT Performance Record header
1114 ///
1115 typedef struct {
1120 
1121 ///
1122 /// FPDT Performance Table header
1123 ///
1124 typedef struct {
1128 
1129 ///
1130 /// FPDT Firmware Basic Boot Performance Pointer Record Structure
1131 ///
1132 typedef struct {
1135  ///
1136  /// 64-bit processor-relative physical address of the Basic Boot Performance Table.
1137  ///
1140 
1141 ///
1142 /// FPDT S3 Performance Table Pointer Record Structure
1143 ///
1144 typedef struct {
1147  ///
1148  /// 64-bit processor-relative physical address of the S3 Performance Table.
1149  ///
1152 
1153 ///
1154 /// FPDT Firmware Basic Boot Performance Record Structure
1155 ///
1156 typedef struct {
1159  ///
1160  /// Timer value logged at the beginning of firmware image execution.
1161  /// This may not always be zero or near zero.
1162  ///
1164  ///
1165  /// Timer value logged just prior to loading the OS boot loader into memory.
1166  /// For non-UEFI compatible boots, this field must be zero.
1167  ///
1169  ///
1170  /// Timer value logged just prior to launching the previously loaded OS boot loader image.
1171  /// For non-UEFI compatible boots, the timer value logged will be just prior
1172  /// to the INT 19h handler invocation.
1173  ///
1175  ///
1176  /// Timer value logged at the point when the OS loader calls the
1177  /// ExitBootServices function for UEFI compatible firmware.
1178  /// For non-UEFI compatible boots, this field must be zero.
1179  ///
1181  ///
1182  /// Timer value logged at the point just prior to when the OS loader gaining
1183  /// control back from calls the ExitBootServices function for UEFI compatible firmware.
1184  /// For non-UEFI compatible boots, this field must be zero.
1185  ///
1188 
1189 ///
1190 /// FPDT Firmware Basic Boot Performance Table signature
1191 ///
1192 #define EFI_ACPI_5_1_FPDT_BOOT_PERFORMANCE_TABLE_SIGNATURE SIGNATURE_32('F', 'B', 'P', 'T')
1193 
1194 //
1195 // FPDT Firmware Basic Boot Performance Table
1196 //
1197 typedef struct {
1199  //
1200  // one or more Performance Records.
1201  //
1203 
1204 ///
1205 /// FPDT "S3PT" S3 Performance Table
1206 ///
1207 #define EFI_ACPI_5_1_FPDT_S3_PERFORMANCE_TABLE_SIGNATURE SIGNATURE_32('S', '3', 'P', 'T')
1208 
1209 //
1210 // FPDT Firmware S3 Boot Performance Table
1211 //
1212 typedef struct {
1214  //
1215  // one or more Performance Records.
1216  //
1218 
1219 ///
1220 /// FPDT Basic S3 Resume Performance Record
1221 ///
1222 typedef struct {
1224  ///
1225  /// A count of the number of S3 resume cycles since the last full boot sequence.
1226  ///
1228  ///
1229  /// Timer recorded at the end of BIOS S3 resume, just prior to handoff to the
1230  /// OS waking vector. Only the most recent resume cycle's time is retained.
1231  ///
1233  ///
1234  /// Average timer value of all resume cycles logged since the last full boot
1235  /// sequence, including the most recent resume. Note that the entire log of
1236  /// timer values does not need to be retained in order to calculate this average.
1237  ///
1240 
1241 ///
1242 /// FPDT Basic S3 Suspend Performance Record
1243 ///
1244 typedef struct {
1246  ///
1247  /// Timer value recorded at the OS write to SLP_TYP upon entry to S3.
1248  /// Only the most recent suspend cycle's timer value is retained.
1249  ///
1251  ///
1252  /// Timer value recorded at the final firmware write to SLP_TYP (or other
1253  /// mechanism) used to trigger hardware entry to S3.
1254  /// Only the most recent suspend cycle's timer value is retained.
1255  ///
1258 
1259 ///
1260 /// Firmware Performance Record Table definition.
1261 ///
1262 typedef struct {
1265 
1266 ///
1267 /// Generic Timer Description Table definition.
1268 ///
1269 typedef struct {
1285 
1286 ///
1287 /// GTDT Version (as defined in ACPI 5.1 spec.)
1288 ///
1289 #define EFI_ACPI_5_1_GENERIC_TIMER_DESCRIPTION_TABLE_REVISION 0x02
1290 
1291 ///
1292 /// Timer Flags. All other bits are reserved and must be 0.
1293 ///
1294 #define EFI_ACPI_5_1_GTDT_TIMER_FLAG_TIMER_INTERRUPT_MODE BIT0
1295 #define EFI_ACPI_5_1_GTDT_TIMER_FLAG_TIMER_INTERRUPT_POLARITY BIT1
1296 #define EFI_ACPI_5_1_GTDT_TIMER_FLAG_ALWAYS_ON_CAPABILITY BIT2
1297 
1298 ///
1299 /// Platform Timer Type
1300 ///
1301 #define EFI_ACPI_5_1_GTDT_GT_BLOCK 0
1302 #define EFI_ACPI_5_1_GTDT_SBSA_GENERIC_WATCHDOG 1
1303 
1304 ///
1305 /// GT Block Structure
1306 ///
1307 typedef struct {
1315 
1316 ///
1317 /// GT Block Timer Structure
1318 ///
1319 typedef struct {
1330 
1331 ///
1332 /// GT Block Physical Timers and Virtual Timers Flags. All other bits are reserved and must be 0.
1333 ///
1334 #define EFI_ACPI_5_1_GTDT_GT_BLOCK_TIMER_FLAG_TIMER_INTERRUPT_MODE BIT0
1335 #define EFI_ACPI_5_1_GTDT_GT_BLOCK_TIMER_FLAG_TIMER_INTERRUPT_POLARITY BIT1
1336 
1337 ///
1338 /// Common Flags Flags. All other bits are reserved and must be 0.
1339 ///
1340 #define EFI_ACPI_5_1_GTDT_GT_BLOCK_COMMON_FLAG_SECURE_TIMER BIT0
1341 #define EFI_ACPI_5_1_GTDT_GT_BLOCK_COMMON_FLAG_ALWAYS_ON_CAPABILITY BIT1
1342 
1343 ///
1344 /// SBSA Generic Watchdog Structure
1345 ///
1346 typedef struct {
1355 
1356 ///
1357 /// SBSA Generic Watchdog Timer Flags. All other bits are reserved and must be 0.
1358 ///
1359 #define EFI_ACPI_5_1_GTDT_SBSA_GENERIC_WATCHDOG_FLAG_TIMER_INTERRUPT_MODE BIT0
1360 #define EFI_ACPI_5_1_GTDT_SBSA_GENERIC_WATCHDOG_FLAG_TIMER_INTERRUPT_POLARITY BIT1
1361 #define EFI_ACPI_5_1_GTDT_SBSA_GENERIC_WATCHDOG_FLAG_SECURE_TIMER BIT2
1362 
1363 ///
1364 /// Boot Error Record Table (BERT)
1365 ///
1366 typedef struct {
1371 
1372 ///
1373 /// BERT Version (as defined in ACPI 5.1 spec.)
1374 ///
1375 #define EFI_ACPI_5_1_BOOT_ERROR_RECORD_TABLE_REVISION 0x01
1376 
1377 ///
1378 /// Boot Error Region Block Status Definition
1379 ///
1380 typedef struct {
1388 
1389 ///
1390 /// Boot Error Region Definition
1391 ///
1392 typedef struct {
1399 
1400 //
1401 // Boot Error Severity types
1402 //
1403 #define EFI_ACPI_5_1_ERROR_SEVERITY_RECOVERABLE 0x00
1404 #define EFI_ACPI_5_1_ERROR_SEVERITY_FATAL 0x01
1405 #define EFI_ACPI_5_1_ERROR_SEVERITY_CORRECTED 0x02
1406 #define EFI_ACPI_5_1_ERROR_SEVERITY_NONE 0x03
1407 //
1408 // The term 'Correctable' is no longer being used as an error severity of the
1409 // reported error since ACPI Specification Version 5.1 Errata B.
1410 // The below macro is considered as deprecated and should no longer be used.
1411 //
1412 #define EFI_ACPI_5_1_ERROR_SEVERITY_CORRECTABLE 0x00
1413 
1414 ///
1415 /// Generic Error Data Entry Definition
1416 ///
1417 typedef struct {
1418  UINT8 SectionType[16];
1424  UINT8 FruId[16];
1425  UINT8 FruText[20];
1427 
1428 ///
1429 /// Generic Error Data Entry Version (as defined in ACPI 5.1 spec.)
1430 ///
1431 #define EFI_ACPI_5_1_GENERIC_ERROR_DATA_ENTRY_REVISION 0x0201
1432 
1433 ///
1434 /// HEST - Hardware Error Source Table
1435 ///
1436 typedef struct {
1440 
1441 ///
1442 /// HEST Version (as defined in ACPI 5.1 spec.)
1443 ///
1444 #define EFI_ACPI_5_1_HARDWARE_ERROR_SOURCE_TABLE_REVISION 0x01
1445 
1446 //
1447 // Error Source structure types.
1448 //
1449 #define EFI_ACPI_5_1_IA32_ARCHITECTURE_MACHINE_CHECK_EXCEPTION 0x00
1450 #define EFI_ACPI_5_1_IA32_ARCHITECTURE_CORRECTED_MACHINE_CHECK 0x01
1451 #define EFI_ACPI_5_1_IA32_ARCHITECTURE_NMI_ERROR 0x02
1452 #define EFI_ACPI_5_1_PCI_EXPRESS_ROOT_PORT_AER 0x06
1453 #define EFI_ACPI_5_1_PCI_EXPRESS_DEVICE_AER 0x07
1454 #define EFI_ACPI_5_1_PCI_EXPRESS_BRIDGE_AER 0x08
1455 #define EFI_ACPI_5_1_GENERIC_HARDWARE_ERROR 0x09
1456 
1457 //
1458 // Error Source structure flags.
1459 //
1460 #define EFI_ACPI_5_1_ERROR_SOURCE_FLAG_FIRMWARE_FIRST (1 << 0)
1461 #define EFI_ACPI_5_1_ERROR_SOURCE_FLAG_GLOBAL (1 << 1)
1462 
1463 ///
1464 /// IA-32 Architecture Machine Check Exception Structure Definition
1465 ///
1466 typedef struct {
1469  UINT8 Reserved0[2];
1477  UINT8 Reserved1[7];
1479 
1480 ///
1481 /// IA-32 Architecture Machine Check Bank Structure Definition
1482 ///
1483 typedef struct {
1494 
1495 ///
1496 /// IA-32 Architecture Machine Check Bank Structure MCA data format
1497 ///
1498 #define EFI_ACPI_5_1_IA32_ARCHITECTURE_MACHINE_CHECK_ERROR_DATA_FORMAT_IA32 0x00
1499 #define EFI_ACPI_5_1_IA32_ARCHITECTURE_MACHINE_CHECK_ERROR_DATA_FORMAT_INTEL64 0x01
1500 #define EFI_ACPI_5_1_IA32_ARCHITECTURE_MACHINE_CHECK_ERROR_DATA_FORMAT_AMD64 0x02
1501 
1502 //
1503 // Hardware Error Notification types. All other values are reserved
1504 //
1505 #define EFI_ACPI_5_1_HARDWARE_ERROR_NOTIFICATION_POLLED 0x00
1506 #define EFI_ACPI_5_1_HARDWARE_ERROR_NOTIFICATION_EXTERNAL_INTERRUPT 0x01
1507 #define EFI_ACPI_5_1_HARDWARE_ERROR_NOTIFICATION_LOCAL_INTERRUPT 0x02
1508 #define EFI_ACPI_5_1_HARDWARE_ERROR_NOTIFICATION_SCI 0x03
1509 #define EFI_ACPI_5_1_HARDWARE_ERROR_NOTIFICATION_NMI 0x04
1510 
1511 ///
1512 /// Hardware Error Notification Configuration Write Enable Structure Definition
1513 ///
1514 typedef struct {
1523 
1524 ///
1525 /// Hardware Error Notification Structure Definition
1526 ///
1527 typedef struct {
1538 
1539 ///
1540 /// IA-32 Architecture Corrected Machine Check Structure Definition
1541 ///
1542 typedef struct {
1545  UINT8 Reserved0[2];
1552  UINT8 Reserved1[3];
1554 
1555 ///
1556 /// IA-32 Architecture NMI Error Structure Definition
1557 ///
1558 typedef struct {
1561  UINT8 Reserved0[2];
1566 
1567 ///
1568 /// PCI Express Root Port AER Structure Definition
1569 ///
1570 typedef struct {
1573  UINT8 Reserved0[2];
1582  UINT8 Reserved1[2];
1589 
1590 ///
1591 /// PCI Express Device AER Structure Definition
1592 ///
1593 typedef struct {
1596  UINT8 Reserved0[2];
1605  UINT8 Reserved1[2];
1611 
1612 ///
1613 /// PCI Express Bridge AER Structure Definition
1614 ///
1615 typedef struct {
1618  UINT8 Reserved0[2];
1627  UINT8 Reserved1[2];
1636 
1637 ///
1638 /// Generic Hardware Error Source Structure Definition
1639 ///
1640 typedef struct {
1653 
1654 ///
1655 /// Generic Error Status Definition
1656 ///
1657 typedef struct {
1664 
1665 ///
1666 /// ERST - Error Record Serialization Table
1667 ///
1668 typedef struct {
1671  UINT8 Reserved0[4];
1674 
1675 ///
1676 /// ERST Version (as defined in ACPI 5.1 spec.)
1677 ///
1678 #define EFI_ACPI_5_1_ERROR_RECORD_SERIALIZATION_TABLE_REVISION 0x01
1679 
1680 ///
1681 /// ERST Serialization Actions
1682 ///
1683 #define EFI_ACPI_5_1_ERST_BEGIN_WRITE_OPERATION 0x00
1684 #define EFI_ACPI_5_1_ERST_BEGIN_READ_OPERATION 0x01
1685 #define EFI_ACPI_5_1_ERST_BEGIN_CLEAR_OPERATION 0x02
1686 #define EFI_ACPI_5_1_ERST_END_OPERATION 0x03
1687 #define EFI_ACPI_5_1_ERST_SET_RECORD_OFFSET 0x04
1688 #define EFI_ACPI_5_1_ERST_EXECUTE_OPERATION 0x05
1689 #define EFI_ACPI_5_1_ERST_CHECK_BUSY_STATUS 0x06
1690 #define EFI_ACPI_5_1_ERST_GET_COMMAND_STATUS 0x07
1691 #define EFI_ACPI_5_1_ERST_GET_RECORD_IDENTIFIER 0x08
1692 #define EFI_ACPI_5_1_ERST_SET_RECORD_IDENTIFIER 0x09
1693 #define EFI_ACPI_5_1_ERST_GET_RECORD_COUNT 0x0A
1694 #define EFI_ACPI_5_1_ERST_BEGIN_DUMMY_WRITE_OPERATION 0x0B
1695 #define EFI_ACPI_5_1_ERST_GET_ERROR_LOG_ADDRESS_RANGE 0x0D
1696 #define EFI_ACPI_5_1_ERST_GET_ERROR_LOG_ADDRESS_RANGE_LENGTH 0x0E
1697 #define EFI_ACPI_5_1_ERST_GET_ERROR_LOG_ADDRESS_RANGE_ATTRIBUTES 0x0F
1698 
1699 ///
1700 /// ERST Action Command Status
1701 ///
1702 #define EFI_ACPI_5_1_ERST_STATUS_SUCCESS 0x00
1703 #define EFI_ACPI_5_1_ERST_STATUS_NOT_ENOUGH_SPACE 0x01
1704 #define EFI_ACPI_5_1_ERST_STATUS_HARDWARE_NOT_AVAILABLE 0x02
1705 #define EFI_ACPI_5_1_ERST_STATUS_FAILED 0x03
1706 #define EFI_ACPI_5_1_ERST_STATUS_RECORD_STORE_EMPTY 0x04
1707 #define EFI_ACPI_5_1_ERST_STATUS_RECORD_NOT_FOUND 0x05
1708 
1709 ///
1710 /// ERST Serialization Instructions
1711 ///
1712 #define EFI_ACPI_5_1_ERST_READ_REGISTER 0x00
1713 #define EFI_ACPI_5_1_ERST_READ_REGISTER_VALUE 0x01
1714 #define EFI_ACPI_5_1_ERST_WRITE_REGISTER 0x02
1715 #define EFI_ACPI_5_1_ERST_WRITE_REGISTER_VALUE 0x03
1716 #define EFI_ACPI_5_1_ERST_NOOP 0x04
1717 #define EFI_ACPI_5_1_ERST_LOAD_VAR1 0x05
1718 #define EFI_ACPI_5_1_ERST_LOAD_VAR2 0x06
1719 #define EFI_ACPI_5_1_ERST_STORE_VAR1 0x07
1720 #define EFI_ACPI_5_1_ERST_ADD 0x08
1721 #define EFI_ACPI_5_1_ERST_SUBTRACT 0x09
1722 #define EFI_ACPI_5_1_ERST_ADD_VALUE 0x0A
1723 #define EFI_ACPI_5_1_ERST_SUBTRACT_VALUE 0x0B
1724 #define EFI_ACPI_5_1_ERST_STALL 0x0C
1725 #define EFI_ACPI_5_1_ERST_STALL_WHILE_TRUE 0x0D
1726 #define EFI_ACPI_5_1_ERST_SKIP_NEXT_INSTRUCTION_IF_TRUE 0x0E
1727 #define EFI_ACPI_5_1_ERST_GOTO 0x0F
1728 #define EFI_ACPI_5_1_ERST_SET_SRC_ADDRESS_BASE 0x10
1729 #define EFI_ACPI_5_1_ERST_SET_DST_ADDRESS_BASE 0x11
1730 #define EFI_ACPI_5_1_ERST_MOVE_DATA 0x12
1731 
1732 ///
1733 /// ERST Instruction Flags
1734 ///
1735 #define EFI_ACPI_5_1_ERST_PRESERVE_REGISTER 0x01
1736 
1737 ///
1738 /// ERST Serialization Instruction Entry
1739 ///
1740 typedef struct {
1749 
1750 ///
1751 /// EINJ - Error Injection Table
1752 ///
1753 typedef struct {
1757  UINT8 Reserved0[3];
1760 
1761 ///
1762 /// EINJ Version (as defined in ACPI 5.1 spec.)
1763 ///
1764 #define EFI_ACPI_5_1_ERROR_INJECTION_TABLE_REVISION 0x01
1765 
1766 ///
1767 /// EINJ Error Injection Actions
1768 ///
1769 #define EFI_ACPI_5_1_EINJ_BEGIN_INJECTION_OPERATION 0x00
1770 #define EFI_ACPI_5_1_EINJ_GET_TRIGGER_ERROR_ACTION_TABLE 0x01
1771 #define EFI_ACPI_5_1_EINJ_SET_ERROR_TYPE 0x02
1772 #define EFI_ACPI_5_1_EINJ_GET_ERROR_TYPE 0x03
1773 #define EFI_ACPI_5_1_EINJ_END_OPERATION 0x04
1774 #define EFI_ACPI_5_1_EINJ_EXECUTE_OPERATION 0x05
1775 #define EFI_ACPI_5_1_EINJ_CHECK_BUSY_STATUS 0x06
1776 #define EFI_ACPI_5_1_EINJ_GET_COMMAND_STATUS 0x07
1777 #define EFI_ACPI_5_1_EINJ_SET_ERROR_TYPE_WITH_ADDRESS 0x08
1778 #define EFI_ACPI_5_1_EINJ_TRIGGER_ERROR 0xFF
1779 
1780 ///
1781 /// EINJ Action Command Status
1782 ///
1783 #define EFI_ACPI_5_1_EINJ_STATUS_SUCCESS 0x00
1784 #define EFI_ACPI_5_1_EINJ_STATUS_UNKNOWN_FAILURE 0x01
1785 #define EFI_ACPI_5_1_EINJ_STATUS_INVALID_ACCESS 0x02
1786 
1787 ///
1788 /// EINJ Error Type Definition
1789 ///
1790 #define EFI_ACPI_5_1_EINJ_ERROR_PROCESSOR_CORRECTABLE (1 << 0)
1791 #define EFI_ACPI_5_1_EINJ_ERROR_PROCESSOR_UNCORRECTABLE_NONFATAL (1 << 1)
1792 #define EFI_ACPI_5_1_EINJ_ERROR_PROCESSOR_UNCORRECTABLE_FATAL (1 << 2)
1793 #define EFI_ACPI_5_1_EINJ_ERROR_MEMORY_CORRECTABLE (1 << 3)
1794 #define EFI_ACPI_5_1_EINJ_ERROR_MEMORY_UNCORRECTABLE_NONFATAL (1 << 4)
1795 #define EFI_ACPI_5_1_EINJ_ERROR_MEMORY_UNCORRECTABLE_FATAL (1 << 5)
1796 #define EFI_ACPI_5_1_EINJ_ERROR_PCI_EXPRESS_CORRECTABLE (1 << 6)
1797 #define EFI_ACPI_5_1_EINJ_ERROR_PCI_EXPRESS_UNCORRECTABLE_NONFATAL (1 << 7)
1798 #define EFI_ACPI_5_1_EINJ_ERROR_PCI_EXPRESS_UNCORRECTABLE_FATAL (1 << 8)
1799 #define EFI_ACPI_5_1_EINJ_ERROR_PLATFORM_CORRECTABLE (1 << 9)
1800 #define EFI_ACPI_5_1_EINJ_ERROR_PLATFORM_UNCORRECTABLE_NONFATAL (1 << 10)
1801 #define EFI_ACPI_5_1_EINJ_ERROR_PLATFORM_UNCORRECTABLE_FATAL (1 << 11)
1802 
1803 ///
1804 /// EINJ Injection Instructions
1805 ///
1806 #define EFI_ACPI_5_1_EINJ_READ_REGISTER 0x00
1807 #define EFI_ACPI_5_1_EINJ_READ_REGISTER_VALUE 0x01
1808 #define EFI_ACPI_5_1_EINJ_WRITE_REGISTER 0x02
1809 #define EFI_ACPI_5_1_EINJ_WRITE_REGISTER_VALUE 0x03
1810 #define EFI_ACPI_5_1_EINJ_NOOP 0x04
1811 
1812 ///
1813 /// EINJ Instruction Flags
1814 ///
1815 #define EFI_ACPI_5_1_EINJ_PRESERVE_REGISTER 0x01
1816 
1817 ///
1818 /// EINJ Injection Instruction Entry
1819 ///
1820 typedef struct {
1829 
1830 ///
1831 /// EINJ Trigger Action Table
1832 ///
1833 typedef struct {
1839 
1840 ///
1841 /// Windows ACPI Emulated devices Table
1842 ///
1843 typedef struct {
1845  ///
1846  /// Container of a bitmask of Windows behavior that this system requires
1847  /// Bit 0 - RTC good
1848  /// Bit 1 - ACPI PM timer good
1849  ///
1852 
1853 ///
1854 /// WAET Flags. All other bits are reserved and must be 0.
1855 ///
1856 #define EFI_ACPI_5_1_WAET_FLAGS_RTC_GOOD BIT0
1857 #define EFI_ACPI_5_1_WAET_FLAGS_ACPI_PM_TIMER_GOOD BIT1
1858 
1859 ///
1860 /// Platform Communications Channel Table (PCCT)
1861 ///
1862 typedef struct {
1867 
1868 ///
1869 /// PCCT Version (as defined in ACPI 5.1 spec.)
1870 ///
1871 #define EFI_ACPI_5_1_PLATFORM_COMMUNICATION_CHANNEL_TABLE_REVISION 0x01
1872 
1873 ///
1874 /// PCCT Global Flags
1875 ///
1876 #define EFI_ACPI_5_1_PCCT_FLAGS_SCI_DOORBELL BIT0
1877 
1878 //
1879 // PCCT Subspace type
1880 //
1881 #define EFI_ACPI_5_1_PCCT_SUBSPACE_TYPE_GENERIC 0x00
1882 
1883 ///
1884 /// PCC Subspace Structure Header
1885 ///
1886 typedef struct {
1890 
1891 ///
1892 /// Generic Communications Subspace Structure
1893 ///
1894 typedef struct {
1907 
1908 ///
1909 /// Generic Communications Channel Shared Memory Region
1910 ///
1911 
1912 typedef struct {
1917 
1918 typedef struct {
1926 
1927 typedef struct {
1932 
1933 //
1934 // Known table signatures
1935 //
1936 
1937 ///
1938 /// "RSD PTR " Root System Description Pointer
1939 ///
1940 #define EFI_ACPI_5_1_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE SIGNATURE_64('R', 'S', 'D', ' ', 'P', 'T', 'R', ' ')
1941 
1942 ///
1943 /// "APIC" Multiple APIC Description Table
1944 ///
1945 #define EFI_ACPI_5_1_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('A', 'P', 'I', 'C')
1946 
1947 ///
1948 /// "BERT" Boot Error Record Table
1949 ///
1950 #define EFI_ACPI_5_1_BOOT_ERROR_RECORD_TABLE_SIGNATURE SIGNATURE_32('B', 'E', 'R', 'T')
1951 
1952 ///
1953 /// "BGRT" Boot Graphics Resource Table
1954 ///
1955 #define EFI_ACPI_5_1_BOOT_GRAPHICS_RESOURCE_TABLE_SIGNATURE SIGNATURE_32('B', 'G', 'R', 'T')
1956 
1957 ///
1958 /// "CPEP" Corrected Platform Error Polling Table
1959 ///
1960 #define EFI_ACPI_5_1_CORRECTED_PLATFORM_ERROR_POLLING_TABLE_SIGNATURE SIGNATURE_32('C', 'P', 'E', 'P')
1961 
1962 ///
1963 /// "DSDT" Differentiated System Description Table
1964 ///
1965 #define EFI_ACPI_5_1_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('D', 'S', 'D', 'T')
1966 
1967 ///
1968 /// "ECDT" Embedded Controller Boot Resources Table
1969 ///
1970 #define EFI_ACPI_5_1_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_SIGNATURE SIGNATURE_32('E', 'C', 'D', 'T')
1971 
1972 ///
1973 /// "EINJ" Error Injection Table
1974 ///
1975 #define EFI_ACPI_5_1_ERROR_INJECTION_TABLE_SIGNATURE SIGNATURE_32('E', 'I', 'N', 'J')
1976 
1977 ///
1978 /// "ERST" Error Record Serialization Table
1979 ///
1980 #define EFI_ACPI_5_1_ERROR_RECORD_SERIALIZATION_TABLE_SIGNATURE SIGNATURE_32('E', 'R', 'S', 'T')
1981 
1982 ///
1983 /// "FACP" Fixed ACPI Description Table
1984 ///
1985 #define EFI_ACPI_5_1_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('F', 'A', 'C', 'P')
1986 
1987 ///
1988 /// "FACS" Firmware ACPI Control Structure
1989 ///
1990 #define EFI_ACPI_5_1_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE SIGNATURE_32('F', 'A', 'C', 'S')
1991 
1992 ///
1993 /// "FPDT" Firmware Performance Data Table
1994 ///
1995 #define EFI_ACPI_5_1_FIRMWARE_PERFORMANCE_DATA_TABLE_SIGNATURE SIGNATURE_32('F', 'P', 'D', 'T')
1996 
1997 ///
1998 /// "GTDT" Generic Timer Description Table
1999 ///
2000 #define EFI_ACPI_5_1_GENERIC_TIMER_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('G', 'T', 'D', 'T')
2001 
2002 ///
2003 /// "HEST" Hardware Error Source Table
2004 ///
2005 #define EFI_ACPI_5_1_HARDWARE_ERROR_SOURCE_TABLE_SIGNATURE SIGNATURE_32('H', 'E', 'S', 'T')
2006 
2007 ///
2008 /// "MPST" Memory Power State Table
2009 ///
2010 #define EFI_ACPI_5_1_MEMORY_POWER_STATE_TABLE_SIGNATURE SIGNATURE_32('M', 'P', 'S', 'T')
2011 
2012 ///
2013 /// "MSCT" Maximum System Characteristics Table
2014 ///
2015 #define EFI_ACPI_5_1_MAXIMUM_SYSTEM_CHARACTERISTICS_TABLE_SIGNATURE SIGNATURE_32('M', 'S', 'C', 'T')
2016 
2017 ///
2018 /// "PMTT" Platform Memory Topology Table
2019 ///
2020 #define EFI_ACPI_5_1_PLATFORM_MEMORY_TOPOLOGY_TABLE_SIGNATURE SIGNATURE_32('P', 'M', 'T', 'T')
2021 
2022 ///
2023 /// "PSDT" Persistent System Description Table
2024 ///
2025 #define EFI_ACPI_5_1_PERSISTENT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('P', 'S', 'D', 'T')
2026 
2027 ///
2028 /// "RASF" ACPI RAS Feature Table
2029 ///
2030 #define EFI_ACPI_5_1_ACPI_RAS_FEATURE_TABLE_SIGNATURE SIGNATURE_32('R', 'A', 'S', 'F')
2031 
2032 ///
2033 /// "RSDT" Root System Description Table
2034 ///
2035 #define EFI_ACPI_5_1_ROOT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('R', 'S', 'D', 'T')
2036 
2037 ///
2038 /// "SBST" Smart Battery Specification Table
2039 ///
2040 #define EFI_ACPI_5_1_SMART_BATTERY_SPECIFICATION_TABLE_SIGNATURE SIGNATURE_32('S', 'B', 'S', 'T')
2041 
2042 ///
2043 /// "SLIT" System Locality Information Table
2044 ///
2045 #define EFI_ACPI_5_1_SYSTEM_LOCALITY_INFORMATION_TABLE_SIGNATURE SIGNATURE_32('S', 'L', 'I', 'T')
2046 
2047 ///
2048 /// "SRAT" System Resource Affinity Table
2049 ///
2050 #define EFI_ACPI_5_1_SYSTEM_RESOURCE_AFFINITY_TABLE_SIGNATURE SIGNATURE_32('S', 'R', 'A', 'T')
2051 
2052 ///
2053 /// "SSDT" Secondary System Description Table
2054 ///
2055 #define EFI_ACPI_5_1_SECONDARY_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('S', 'S', 'D', 'T')
2056 
2057 ///
2058 /// "XSDT" Extended System Description Table
2059 ///
2060 #define EFI_ACPI_5_1_EXTENDED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('X', 'S', 'D', 'T')
2061 
2062 ///
2063 /// "BOOT" MS Simple Boot Spec
2064 ///
2065 #define EFI_ACPI_5_1_SIMPLE_BOOT_FLAG_TABLE_SIGNATURE SIGNATURE_32('B', 'O', 'O', 'T')
2066 
2067 ///
2068 /// "CSRT" MS Core System Resource Table
2069 ///
2070 #define EFI_ACPI_5_1_CORE_SYSTEM_RESOURCE_TABLE_SIGNATURE SIGNATURE_32('C', 'S', 'R', 'T')
2071 
2072 ///
2073 /// "DBG2" MS Debug Port 2 Spec
2074 ///
2075 #define EFI_ACPI_5_1_DEBUG_PORT_2_TABLE_SIGNATURE SIGNATURE_32('D', 'B', 'G', '2')
2076 
2077 ///
2078 /// "DBGP" MS Debug Port Spec
2079 ///
2080 #define EFI_ACPI_5_1_DEBUG_PORT_TABLE_SIGNATURE SIGNATURE_32('D', 'B', 'G', 'P')
2081 
2082 ///
2083 /// "DMAR" DMA Remapping Table
2084 ///
2085 #define EFI_ACPI_5_1_DMA_REMAPPING_TABLE_SIGNATURE SIGNATURE_32('D', 'M', 'A', 'R')
2086 
2087 ///
2088 /// "DRTM" Dynamic Root of Trust for Measurement Table
2089 ///
2090 #define EFI_ACPI_5_1_DYNAMIC_ROOT_OF_TRUST_FOR_MEASUREMENT_TABLE_SIGNATURE SIGNATURE_32('D', 'R', 'T', 'M')
2091 
2092 ///
2093 /// "ETDT" Event Timer Description Table
2094 ///
2095 #define EFI_ACPI_5_1_EVENT_TIMER_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('E', 'T', 'D', 'T')
2096 
2097 ///
2098 /// "HPET" IA-PC High Precision Event Timer Table
2099 ///
2100 #define EFI_ACPI_5_1_HIGH_PRECISION_EVENT_TIMER_TABLE_SIGNATURE SIGNATURE_32('H', 'P', 'E', 'T')
2101 
2102 ///
2103 /// "iBFT" iSCSI Boot Firmware Table
2104 ///
2105 #define EFI_ACPI_5_1_ISCSI_BOOT_FIRMWARE_TABLE_SIGNATURE SIGNATURE_32('i', 'B', 'F', 'T')
2106 
2107 ///
2108 /// "IVRS" I/O Virtualization Reporting Structure
2109 ///
2110 #define EFI_ACPI_5_1_IO_VIRTUALIZATION_REPORTING_STRUCTURE_SIGNATURE SIGNATURE_32('I', 'V', 'R', 'S')
2111 
2112 ///
2113 /// "LPIT" Low Power Idle Table
2114 ///
2115 #define EFI_ACPI_5_1_IO_LOW_POWER_IDLE_TABLE_STRUCTURE_SIGNATURE SIGNATURE_32('L', 'P', 'I', 'T')
2116 
2117 ///
2118 /// "MCFG" PCI Express Memory Mapped Configuration Space Base Address Description Table
2119 ///
2120 #define EFI_ACPI_5_1_PCI_EXPRESS_MEMORY_MAPPED_CONFIGURATION_SPACE_BASE_ADDRESS_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('M', 'C', 'F', 'G')
2121 
2122 ///
2123 /// "MCHI" Management Controller Host Interface Table
2124 ///
2125 #define EFI_ACPI_5_1_MANAGEMENT_CONTROLLER_HOST_INTERFACE_TABLE_SIGNATURE SIGNATURE_32('M', 'C', 'H', 'I')
2126 
2127 ///
2128 /// "MSDM" MS Data Management Table
2129 ///
2130 #define EFI_ACPI_5_1_DATA_MANAGEMENT_TABLE_SIGNATURE SIGNATURE_32('M', 'S', 'D', 'M')
2131 
2132 ///
2133 /// "PCCT" Platform Communications Channel Table
2134 ///
2135 #define EFI_ACPI_5_1_PLATFORM_COMMUNICATIONS_CHANNEL_TABLE_SIGNATURE SIGNATURE_32('P', 'C', 'C', 'T')
2136 
2137 ///
2138 /// "SLIC" MS Software Licensing Table Specification
2139 ///
2140 #define EFI_ACPI_5_1_SOFTWARE_LICENSING_TABLE_SIGNATURE SIGNATURE_32('S', 'L', 'I', 'C')
2141 
2142 ///
2143 /// "SPCR" Serial Port Console Redirection Table
2144 ///
2145 #define EFI_ACPI_5_1_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'C', 'R')
2146 
2147 ///
2148 /// "SPMI" Server Platform Management Interface Table
2149 ///
2150 #define EFI_ACPI_5_1_SERVER_PLATFORM_MANAGEMENT_INTERFACE_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'M', 'I')
2151 
2152 ///
2153 /// "TCPA" Trusted Computing Platform Alliance Capabilities Table
2154 ///
2155 #define EFI_ACPI_5_1_TRUSTED_COMPUTING_PLATFORM_ALLIANCE_CAPABILITIES_TABLE_SIGNATURE SIGNATURE_32('T', 'C', 'P', 'A')
2156 
2157 ///
2158 /// "TPM2" Trusted Computing Platform 1 Table
2159 ///
2160 #define EFI_ACPI_5_1_TRUSTED_COMPUTING_PLATFORM_2_TABLE_SIGNATURE SIGNATURE_32('T', 'P', 'M', '2')
2161 
2162 ///
2163 /// "UEFI" UEFI ACPI Data Table
2164 ///
2165 #define EFI_ACPI_5_1_UEFI_ACPI_DATA_TABLE_SIGNATURE SIGNATURE_32('U', 'E', 'F', 'I')
2166 
2167 ///
2168 /// "WAET" Windows ACPI Emulated Devices Table
2169 ///
2170 #define EFI_ACPI_5_1_WINDOWS_ACPI_EMULATED_DEVICES_TABLE_SIGNATURE SIGNATURE_32('W', 'A', 'E', 'T')
2171 
2172 ///
2173 /// "WDAT" Watchdog Action Table
2174 ///
2175 #define EFI_ACPI_5_1_WATCHDOG_ACTION_TABLE_SIGNATURE SIGNATURE_32('W', 'D', 'A', 'T')
2176 
2177 ///
2178 /// "WDRT" Watchdog Resource Table
2179 ///
2180 #define EFI_ACPI_5_1_WATCHDOG_RESOURCE_TABLE_SIGNATURE SIGNATURE_32('W', 'D', 'R', 'T')
2181 
2182 ///
2183 /// "WPBT" MS Platform Binary Table
2184 ///
2185 #define EFI_ACPI_5_1_PLATFORM_BINARY_TABLE_SIGNATURE SIGNATURE_32('W', 'P', 'B', 'T')
2186 
2187 #pragma pack()
2188 
2189 #endif
Boot Error Record Table (BERT)
Definition: Acpi51.h:1366
Generic Hardware Error Source Structure Definition.
Definition: Acpi51.h:1640
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi51.h:1437
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi51.h:1024
UINT64 Value
Definition: Acpi51.h:1826
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi51.h:1754
Smart Battery Description Table (SBST)
Definition: Acpi51.h:597
EFI_ACPI_5_1_PMMT_COMMON_MEMORY_AGGREGATOR_DEVICE_STRUCTURE Header
Definition: Acpi51.h:986
EFI_ACPI_5_1_HARDWARE_ERROR_NOTIFICATION_STRUCTURE NotificationStructure
Definition: Acpi51.h:1550
FILE_LICENCE(BSD2_PATENT)
Firmware ACPI Control Structure.
Definition: Acpi51.h:259
Memory Topology Table definition.
Definition: Acpi51.h:954
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi51.h:1263
UINT64 AverageResume
Average timer value of all resume cycles logged since the last full boot sequence,...
Definition: Acpi51.h:1238
UINT64 Value
Definition: Acpi51.h:1746
Processor Local APIC Structure Definition.
Definition: Acpi51.h:350
Interrupt Source Override Structure.
Definition: Acpi51.h:378
Corrected Platform Error Polling Processor Structure Definition.
Definition: Acpi51.h:761
UINT64 BootPerformanceTablePointer
64-bit processor-relative physical address of the Basic Boot Performance Table.
Definition: Acpi51.h:1138
Boot Error Region Definition.
Definition: Acpi51.h:1392
DIMM Memory Aggregator Device Structure.
Definition: Acpi51.h:1012
Memory Affinity Structure Definition.
Definition: Acpi51.h:674
FPDT S3 Performance Table Pointer Record Structure.
Definition: Acpi51.h:1144
UINT32_t Reserved[2]
Must be zero.
Definition: pxe_api.h:76
HEST - Hardware Error Source Table.
Definition: Acpi51.h:1436
Processor Local x2APIC Affinity Structure Definition.
Definition: Acpi51.h:698
UINT64 ExitBootServicesEntry
Timer value logged at the point when the OS loader calls the ExitBootServices function for UEFI compa...
Definition: Acpi51.h:1180
EFI_ACPI_5_1_FPDT_PERFORMANCE_RECORD_HEADER Header
Definition: Acpi51.h:1157
SBSA Generic Watchdog Structure.
Definition: Acpi51.h:1346
FPDT Firmware Basic Boot Performance Pointer Record Structure.
Definition: Acpi51.h:1132
GICC Affinity Structure Definition.
Definition: Acpi51.h:712
EFI_ACPI_5_1_FPDT_PERFORMANCE_RECORD_HEADER Header
Definition: Acpi51.h:1223
UINT64 SuspendEnd
Timer value recorded at the final firmware write to SLP_TYP (or other mechanism) used to trigger hard...
Definition: Acpi51.h:1256
UINT8 ValidationBits
Definition: Acpi51.h:1421
EFI_ACPI_5_1_FPDT_PERFORMANCE_RECORD_HEADER Header
Definition: Acpi51.h:1245
Platform Interrupt Sources Structure.
Definition: Acpi51.h:472
UINT16 Revision
Definition: Acpi51.h:1420
EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE EcControl
Definition: Acpi51.h:616
unsigned int UINT32
Definition: ProcessorBind.h:99
PCC Subspace Structure Header.
Definition: Acpi51.h:1886
Local APIC Address Override Structure.
Definition: Acpi51.h:435
Generic Error Data Entry Definition.
Definition: Acpi51.h:1417
EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE EcData
Definition: Acpi51.h:617
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi51.h:801
MemoryController Memory Aggregator Device Structure.
Definition: Acpi51.h:995
EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE ErrorStatusAddress
Definition: Acpi51.h:1649
FPDT Firmware Basic Boot Performance Record Structure.
Definition: Acpi51.h:1156
Generic Error Status Definition.
Definition: Acpi51.h:1657
FPDT Basic S3 Suspend Performance Record.
Definition: Acpi51.h:1244
FPDT Performance Record header.
Definition: Acpi51.h:1115
EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE XPmTmrBlk
Definition: Acpi51.h:185
Generic Communications Subspace Structure.
Definition: Acpi51.h:1894
UINT64 FullResume
Timer recorded at the end of BIOS S3 resume, just prior to handoff to the OS waking vector.
Definition: Acpi51.h:1232
unsigned char UINT8
UINT8 InjectionAction
Definition: Acpi51.h:1821
ACPI RASF Parameter Block structure for PATROL_SCRUB.
Definition: Acpi51.h:838
MPST Memory Power State Characteristics Table.
Definition: Acpi51.h:933
IA-32 Architecture NMI Error Structure Definition.
Definition: Acpi51.h:1558
EINJ Injection Instruction Entry.
Definition: Acpi51.h:1820
Local APIC NMI Structure.
Definition: Acpi51.h:424
EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE RegisterRegion
Definition: Acpi51.h:1745
UINT64 ImageAddress
8-byte (64 bit) physical address pointing to the firmware's in-memory copy of the image bitmap.
Definition: Acpi51.h:1045
EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE XGpe1Blk
Definition: Acpi51.h:187
UINT32 ErrorDataLength
Definition: Acpi51.h:1423
GIC MSI Frame Structure.
Definition: Acpi51.h:567
EFI_ACPI_5_1_ERROR_BLOCK_STATUS BlockStatus
Definition: Acpi51.h:1393
Fixed ACPI Description Table Structure (FADT)
Definition: Acpi51.h:134
UINT32 PerformanceInterruptGsiv
Definition: Acpi51.h:525
Non-Maskable Interrupt Source Structure.
Definition: Acpi51.h:414
Local x2APIC NMI Structure.
Definition: Acpi51.h:505
ACPI RASF Platform Communication Channel Shared Memory Region definition.
Definition: Acpi51.h:813
IA-32 Architecture Machine Check Bank Structure Definition.
Definition: Acpi51.h:1483
UINT8 Reserved0
Definition: Acpi51.h:1744
EFI_ACPI_5_1_ERROR_BLOCK_STATUS BlockStatus
Definition: Acpi51.h:1658
Processor Local APIC/SAPIC Affinity Structure Definition.
Definition: Acpi51.h:655
UINT64 ResetEnd
Timer value logged at the beginning of firmware image execution.
Definition: Acpi51.h:1163
ACPI 5.1 Generic Address Space definition.
Definition: Acpi51.h:48
Local SAPIC Structure This struct followed by a null-terminated ASCII string - ACPI Processor UID Str...
Definition: Acpi51.h:458
EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE DoorbellRegister
Definition: Acpi51.h:1900
EFI_ACPI_5_1_PMMT_COMMON_MEMORY_AGGREGATOR_DEVICE_STRUCTURE Header
Definition: Acpi51.h:996
ERST - Error Record Serialization Table.
Definition: Acpi51.h:1668
Common Memory Aggregator Device Structure.
Definition: Acpi51.h:967
Common table header, this prefaces all ACPI tables, including FACS, but excluding the RSD PTR structu...
Definition: Acpi51.h:104
EINJ - Error Injection Table.
Definition: Acpi51.h:1753
UINT64 S3PerformanceTablePointer
64-bit processor-relative physical address of the S3 Performance Table.
Definition: Acpi51.h:1150
Boot Error Region Block Status Definition.
Definition: Acpi51.h:1380
EFI_ACPI_5_1_FPDT_PERFORMANCE_RECORD_HEADER Header
Definition: Acpi51.h:1133
UINT32 ResumeCount
A count of the number of S3 resume cycles since the last full boot sequence.
Definition: Acpi51.h:1227
UINT64 Mask
Definition: Acpi51.h:1747
EFI_ACPI_5_1_FPDT_PERFORMANCE_TABLE_HEADER Header
Definition: Acpi51.h:1198
UINT8 Instruction
Definition: Acpi51.h:1822
EFI_ACPI_5_1_HARDWARE_ERROR_NOTIFICATION_STRUCTURE NotificationStructure
Definition: Acpi51.h:1650
unsigned short UINT16
Multiple APIC Description Table header definition.
Definition: Acpi51.h:305
PCI Express Bridge AER Structure Definition.
Definition: Acpi51.h:1615
System Resource Affinity Table (SRAT).
Definition: Acpi51.h:631
Windows ACPI Emulated devices Table.
Definition: Acpi51.h:1843
ERST Serialization Instruction Entry.
Definition: Acpi51.h:1740
MPST Platform Communication Channel Shared Memory Region definition.
Definition: Acpi51.h:875
EFI_ACPI_5_1_PCCT_GENERIC_SHARED_MEMORY_REGION_STATUS Status
Definition: Acpi51.h:1930
UINT8 Flags
Definition: Acpi51.h:1422
Socket Memory Aggregator Device Structure.
Definition: Acpi51.h:985
Memory Power State Table definition.
Definition: Acpi51.h:859
Generic Communications Channel Shared Memory Region.
Definition: Acpi51.h:1912
UINT8 Instruction
Definition: Acpi51.h:1742
System Locality Distance Information Table (SLIT).
Definition: Acpi51.h:730
IA-32 Architecture Machine Check Exception Structure Definition.
Definition: Acpi51.h:1466
UINT8 Flags
Definition: Acpi51.h:1823
Corrected Platform Error Polling Table (CPEP)
Definition: Acpi51.h:743
EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE XPm1aCntBlk
Definition: Acpi51.h:182
FILE_SECBOOT(PERMITTED)
The common ACPI description table header.
Definition: Acpi10.h:30
GT Block Timer Structure.
Definition: Acpi51.h:1319
UINT64 Mask
Definition: Acpi51.h:1827
UINT8 SerializationAction
Definition: Acpi51.h:1741
UINT8 Status
1-byte status field indicating current status about the table.
Definition: Acpi51.h:1034
EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE XPm1aEvtBlk
Definition: Acpi51.h:180
EFI_ACPI_5_1_FPDT_PERFORMANCE_TABLE_HEADER Header
Definition: Acpi51.h:1213
GICR Structure.
Definition: Acpi51.h:586
UINT64 DiscoveryRangeBaseAddress
Definition: Acpi51.h:590
UINT64 SuspendStart
Timer value recorded at the OS write to SLP_TYP upon entry to S3.
Definition: Acpi51.h:1250
EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE XGpe0Blk
Definition: Acpi51.h:186
EFI_ACPI_5_1_PCCT_GENERIC_SHARED_MEMORY_REGION_COMMAND Command
Definition: Acpi51.h:1929
EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE SleepStatusReg
Definition: Acpi51.h:189
Root System Description Pointer Structure.
Definition: Acpi51.h:83
unsigned long long UINT64
Definition: ProcessorBind.h:97
ACPI 5.0 definitions from the ACPI Specification Revision 5.0a November 13, 2013.
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi51.h:860
Hardware Error Notification Structure Definition.
Definition: Acpi51.h:1527
GIC Distributor Structure.
Definition: Acpi51.h:545
GIC Structure.
Definition: Acpi51.h:517
IA-32 Architecture Corrected Machine Check Structure Definition.
Definition: Acpi51.h:1542
EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE XPm2CntBlk
Definition: Acpi51.h:184
UINT32 VGICMaintenanceInterrupt
Definition: Acpi51.h:530
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi51.h:135
PCI Express Device AER Structure Definition.
Definition: Acpi51.h:1593
UINT8 Flags
Definition: Acpi51.h:1743
EFI_ACPI_5_1_PMMT_COMMON_MEMORY_AGGREGATOR_DEVICE_STRUCTURE Header
Definition: Acpi51.h:1013
Embedded Controller Boot Resources Table (ECDT) The table is followed by a null terminated ASCII stri...
Definition: Acpi51.h:614
UINT32 EmulatedDeviceFlags
Container of a bitmask of Windows behavior that this system requires Bit 0 - RTC good Bit 1 - ACPI PM...
Definition: Acpi51.h:1850
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi51.h:598
Firmware Performance Record Table definition.
Definition: Acpi51.h:1262
IO APIC Structure.
Definition: Acpi51.h:366
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi51.h:1270
Generic Timer Description Table definition.
Definition: Acpi51.h:1269
EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE ResetReg
Definition: Acpi51.h:174
ACPI RAS Feature Table definition.
Definition: Acpi51.h:800
Platform Interrupt Sources Structure Definition.
Definition: Acpi51.h:390
IO SAPIC Structure.
Definition: Acpi51.h:445
UINT32 ErrorSeverity
Definition: Acpi51.h:1419
MPST Memory Power Node Table.
Definition: Acpi51.h:903
UINT32 ImageOffsetY
A 4-byte (32-bit) unsigned long describing the display Y-offset of the boot image.
Definition: Acpi51.h:1057
UINT64 OsLoaderStartImageStart
Timer value logged just prior to launching the previously loaded OS boot loader image.
Definition: Acpi51.h:1174
Hardware Error Notification Configuration Write Enable Structure Definition.
Definition: Acpi51.h:1514
Boot Graphics Resource Table definition.
Definition: Acpi51.h:1023
Maximum Proximity Domain Information Structure Definition.
Definition: Acpi51.h:788
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi51.h:1844
UINT8 ImageType
1-byte enumerated type field indicating format of the image.
Definition: Acpi51.h:1040
UINT64 ExitBootServicesExit
Timer value logged at the point just prior to when the OS loader gaining control back from calls the ...
Definition: Acpi51.h:1186
UINT64 OsLoaderLoadImageStart
Timer value logged just prior to loading the OS boot loader into memory.
Definition: Acpi51.h:1168
UINT32 ImageOffsetX
A 4-byte (32-bit) unsigned long describing the display X-offset of the boot image.
Definition: Acpi51.h:1051
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi51.h:1367
UINT16 Version
2-bytes (16 bit) version ID.
Definition: Acpi51.h:1028
EFI_ACPI_5_1_HARDWARE_ERROR_NOTIFICATION_CONFIGURATION_WRITE_ENABLE_STRUCTURE ConfigurationWriteEnable
Definition: Acpi51.h:1530
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi51.h:955
EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE XPm1bCntBlk
Definition: Acpi51.h:183
Processor Local x2APIC Structure Definition.
Definition: Acpi51.h:493
FPDT Performance Table header.
Definition: Acpi51.h:1124
Platform Communications Channel Table (PCCT)
Definition: Acpi51.h:1862
PCI Express Root Port AER Structure Definition.
Definition: Acpi51.h:1570
EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE XPm1bEvtBlk
Definition: Acpi51.h:181
EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE RegisterRegion
Definition: Acpi51.h:1825
EFI_ACPI_5_1_GENERIC_ADDRESS_STRUCTURE SleepControlReg
Definition: Acpi51.h:188
Maximum System Characteristics Table (MSCT)
Definition: Acpi51.h:772
EINJ Trigger Action Table.
Definition: Acpi51.h:1833
FPDT Basic S3 Resume Performance Record.
Definition: Acpi51.h:1222
EFI_ACPI_5_1_FPDT_PERFORMANCE_RECORD_HEADER Header
Definition: Acpi51.h:1145
UINT8 Reserved0
Definition: Acpi51.h:1824