iPXE
Acpi50.h
Go to the documentation of this file.
1 /** @file
2  ACPI 5.0 definitions from the ACPI Specification Revision 5.0a November 13, 2013.
3 
4  Copyright (c) 2014 Hewlett-Packard Development Company, L.P.<BR>
5  Copyright (c) 2011 - 2022, Intel Corporation. All rights reserved.<BR>
6  Copyright (c) 2020, ARM Ltd. All rights reserved.<BR>
7  Copyright (C) 2025, Advanced Micro Devices, Inc. All rights reserved.
8  SPDX-License-Identifier: BSD-2-Clause-Patent
9 **/
10 
11 #ifndef _ACPI_5_0_H_
12 #define _ACPI_5_0_H_
13 
14 FILE_LICENCE ( BSD2_PATENT );
15 
17 
18 ///
19 /// _CSD Revision for ACPI 5.0
20 ///
21 #define EFI_ACPI_5_0_AML_CSD_REVISION 0
22 
23 ///
24 /// _CSD NumEntries for ACPI 5.0
25 ///
26 #define EFI_ACPI_5_0_AML_CSD_NUM_ENTRIES 6
27 
28 //
29 // Define for Descriptor
30 //
31 #define ACPI_SMALL_FIXED_DMA_DESCRIPTOR_NAME 0x0A
32 #define ACPI_LARGE_GPIO_CONNECTION_DESCRIPTOR_NAME 0x0C
33 #define ACPI_LARGE_GENERIC_SERIAL_BUS_CONNECTION_DESCRIPTOR_NAME 0x0E
34 
35 #define ACPI_FIXED_DMA_DESCRIPTOR 0x55
36 #define ACPI_GPIO_CONNECTION_DESCRIPTOR 0x8C
37 #define ACPI_GENERIC_SERIAL_BUS_CONNECTION_DESCRIPTOR 0x8E
38 
39 ///
40 /// _PSD Revision for ACPI 5.0
41 ///
42 #define EFI_ACPI_5_0_AML_PSD_REVISION 0
43 
44 ///
45 /// _CPC Revision for ACPI 5.0
46 ///
47 #define EFI_ACPI_5_0_AML_CPC_REVISION 1
48 
49 #pragma pack(1)
50 
51 ///
52 /// Generic DMA Descriptor.
53 ///
54 typedef PACKED struct {
60 
61 ///
62 /// GPIO Connection Descriptor
63 ///
64 typedef PACKED struct {
79 
80 #define EFI_ACPI_GPIO_CONNECTION_TYPE_INTERRUPT 0x0
81 #define EFI_ACPI_GPIO_CONNECTION_TYPE_IO 0x1
82 
83 ///
84 /// Serial Bus Resource Descriptor (Generic)
85 ///
86 typedef PACKED struct {
95  // Type specific data
97 
98 #define EFI_ACPI_SERIAL_BUS_RESOURCE_TYPE_I2C 0x1
99 #define EFI_ACPI_SERIAL_BUS_RESOURCE_TYPE_SPI 0x2
100 #define EFI_ACPI_SERIAL_BUS_RESOURCE_TYPE_UART 0x3
101 
102 ///
103 /// Serial Bus Resource Descriptor (I2C)
104 ///
105 typedef PACKED struct {
117 
118 ///
119 /// Serial Bus Resource Descriptor (SPI)
120 ///
121 typedef PACKED struct {
136 
137 ///
138 /// Serial Bus Resource Descriptor (UART)
139 ///
140 typedef PACKED struct {
155 
156 #pragma pack()
157 
158 //
159 // Ensure proper structure formats
160 //
161 #pragma pack(1)
162 
163 ///
164 /// ACPI 5.0 Generic Address Space definition
165 ///
166 typedef struct {
173 
174 //
175 // Generic Address Space Address IDs
176 //
177 #define EFI_ACPI_5_0_SYSTEM_MEMORY 0
178 #define EFI_ACPI_5_0_SYSTEM_IO 1
179 #define EFI_ACPI_5_0_PCI_CONFIGURATION_SPACE 2
180 #define EFI_ACPI_5_0_EMBEDDED_CONTROLLER 3
181 #define EFI_ACPI_5_0_SMBUS 4
182 #define EFI_ACPI_5_0_PLATFORM_COMMUNICATION_CHANNEL 0x0A
183 #define EFI_ACPI_5_0_FUNCTIONAL_FIXED_HARDWARE 0x7F
184 
185 //
186 // Generic Address Space Access Sizes
187 //
188 #define EFI_ACPI_5_0_UNDEFINED 0
189 #define EFI_ACPI_5_0_BYTE 1
190 #define EFI_ACPI_5_0_WORD 2
191 #define EFI_ACPI_5_0_DWORD 3
192 #define EFI_ACPI_5_0_QWORD 4
193 
194 //
195 // ACPI 5.0 table structures
196 //
197 
198 ///
199 /// Root System Description Pointer Structure
200 ///
201 typedef struct {
204  UINT8 OemId[6];
212 
213 ///
214 /// RSD_PTR Revision (as defined in ACPI 5.0 spec.)
215 ///
216 #define EFI_ACPI_5_0_ROOT_SYSTEM_DESCRIPTION_POINTER_REVISION 0x02 ///< ACPISpec (Revision 5.0) says current value is 2
217 
218 ///
219 /// Common table header, this prefaces all ACPI tables, including FACS, but
220 /// excluding the RSD PTR structure
221 ///
222 typedef struct {
226 
227 //
228 // Root System Description Table
229 // No definition needed as it is a common description table header, the same with
230 // EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT32 table pointers.
231 //
232 
233 ///
234 /// RSDT Revision (as defined in ACPI 5.0 spec.)
235 ///
236 #define EFI_ACPI_5_0_ROOT_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01
237 
238 //
239 // Extended System Description Table
240 // No definition needed as it is a common description table header, the same with
241 // EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT64 table pointers.
242 //
243 
244 ///
245 /// XSDT Revision (as defined in ACPI 5.0 spec.)
246 ///
247 #define EFI_ACPI_5_0_EXTENDED_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01
248 
249 ///
250 /// Fixed ACPI Description Table Structure (FADT)
251 ///
252 typedef struct {
294  UINT8 Reserved2[3];
308 
309 ///
310 /// FADT Version (as defined in ACPI 5.0 spec.)
311 ///
312 #define EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE_REVISION 0x05
313 
314 //
315 // Fixed ACPI Description Table Preferred Power Management Profile
316 //
317 #define EFI_ACPI_5_0_PM_PROFILE_UNSPECIFIED 0
318 #define EFI_ACPI_5_0_PM_PROFILE_DESKTOP 1
319 #define EFI_ACPI_5_0_PM_PROFILE_MOBILE 2
320 #define EFI_ACPI_5_0_PM_PROFILE_WORKSTATION 3
321 #define EFI_ACPI_5_0_PM_PROFILE_ENTERPRISE_SERVER 4
322 #define EFI_ACPI_5_0_PM_PROFILE_SOHO_SERVER 5
323 #define EFI_ACPI_5_0_PM_PROFILE_APPLIANCE_PC 6
324 #define EFI_ACPI_5_0_PM_PROFILE_PERFORMANCE_SERVER 7
325 #define EFI_ACPI_5_0_PM_PROFILE_TABLET 8
326 
327 //
328 // Fixed ACPI Description Table Boot Architecture Flags
329 // All other bits are reserved and must be set to 0.
330 //
331 #define EFI_ACPI_5_0_LEGACY_DEVICES BIT0
332 #define EFI_ACPI_5_0_8042 BIT1
333 #define EFI_ACPI_5_0_VGA_NOT_PRESENT BIT2
334 #define EFI_ACPI_5_0_MSI_NOT_SUPPORTED BIT3
335 #define EFI_ACPI_5_0_PCIE_ASPM_CONTROLS BIT4
336 #define EFI_ACPI_5_0_CMOS_RTC_NOT_PRESENT BIT5
337 
338 //
339 // Fixed ACPI Description Table Fixed Feature Flags
340 // All other bits are reserved and must be set to 0.
341 //
342 #define EFI_ACPI_5_0_WBINVD BIT0
343 #define EFI_ACPI_5_0_WBINVD_FLUSH BIT1
344 #define EFI_ACPI_5_0_PROC_C1 BIT2
345 #define EFI_ACPI_5_0_P_LVL2_UP BIT3
346 #define EFI_ACPI_5_0_PWR_BUTTON BIT4
347 #define EFI_ACPI_5_0_SLP_BUTTON BIT5
348 #define EFI_ACPI_5_0_FIX_RTC BIT6
349 #define EFI_ACPI_5_0_RTC_S4 BIT7
350 #define EFI_ACPI_5_0_TMR_VAL_EXT BIT8
351 #define EFI_ACPI_5_0_DCK_CAP BIT9
352 #define EFI_ACPI_5_0_RESET_REG_SUP BIT10
353 #define EFI_ACPI_5_0_SEALED_CASE BIT11
354 #define EFI_ACPI_5_0_HEADLESS BIT12
355 #define EFI_ACPI_5_0_CPU_SW_SLP BIT13
356 #define EFI_ACPI_5_0_PCI_EXP_WAK BIT14
357 #define EFI_ACPI_5_0_USE_PLATFORM_CLOCK BIT15
358 #define EFI_ACPI_5_0_S4_RTC_STS_VALID BIT16
359 #define EFI_ACPI_5_0_REMOTE_POWER_ON_CAPABLE BIT17
360 #define EFI_ACPI_5_0_FORCE_APIC_CLUSTER_MODEL BIT18
361 #define EFI_ACPI_5_0_FORCE_APIC_PHYSICAL_DESTINATION_MODE BIT19
362 #define EFI_ACPI_5_0_HW_REDUCED_ACPI BIT20
363 #define EFI_ACPI_5_0_LOW_POWER_S0_IDLE_CAPABLE BIT21
364 
365 ///
366 /// Firmware ACPI Control Structure
367 ///
368 typedef struct {
377  UINT8 Reserved0[3];
379  UINT8 Reserved1[24];
381 
382 ///
383 /// FACS Version (as defined in ACPI 5.0 spec.)
384 ///
385 #define EFI_ACPI_5_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_VERSION 0x02
386 
387 ///
388 /// Firmware Control Structure Feature Flags
389 /// All other bits are reserved and must be set to 0.
390 ///
391 #define EFI_ACPI_5_0_S4BIOS_F BIT0
392 #define EFI_ACPI_5_0_64BIT_WAKE_SUPPORTED_F BIT1
393 
394 ///
395 /// OSPM Enabled Firmware Control Structure Flags
396 /// All other bits are reserved and must be set to 0.
397 ///
398 #define EFI_ACPI_5_0_OSPM_64BIT_WAKE_F BIT0
399 
400 //
401 // Differentiated System Description Table,
402 // Secondary System Description Table
403 // and Persistent System Description Table,
404 // no definition needed as they are common description table header, the same with
405 // EFI_ACPI_DESCRIPTION_HEADER, followed by a definition block.
406 //
407 #define EFI_ACPI_5_0_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_REVISION 0x02
408 #define EFI_ACPI_5_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_REVISION 0x02
409 
410 ///
411 /// Multiple APIC Description Table header definition. The rest of the table
412 /// must be defined in a platform specific manner.
413 ///
414 typedef struct {
419 
420 ///
421 /// MADT Revision (as defined in ACPI 5.0 spec.)
422 ///
423 #define EFI_ACPI_5_0_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION 0x03
424 
425 ///
426 /// Multiple APIC Flags
427 /// All other bits are reserved and must be set to 0.
428 ///
429 #define EFI_ACPI_5_0_PCAT_COMPAT BIT0
430 
431 //
432 // Multiple APIC Description Table APIC structure types
433 // All other values between 0x0D and 0x7F are reserved and
434 // will be ignored by OSPM. 0x80 ~ 0xFF are reserved for OEM.
435 //
436 #define EFI_ACPI_5_0_PROCESSOR_LOCAL_APIC 0x00
437 #define EFI_ACPI_5_0_IO_APIC 0x01
438 #define EFI_ACPI_5_0_INTERRUPT_SOURCE_OVERRIDE 0x02
439 #define EFI_ACPI_5_0_NON_MASKABLE_INTERRUPT_SOURCE 0x03
440 #define EFI_ACPI_5_0_LOCAL_APIC_NMI 0x04
441 #define EFI_ACPI_5_0_LOCAL_APIC_ADDRESS_OVERRIDE 0x05
442 #define EFI_ACPI_5_0_IO_SAPIC 0x06
443 #define EFI_ACPI_5_0_LOCAL_SAPIC 0x07
444 #define EFI_ACPI_5_0_PLATFORM_INTERRUPT_SOURCES 0x08
445 #define EFI_ACPI_5_0_PROCESSOR_LOCAL_X2APIC 0x09
446 #define EFI_ACPI_5_0_LOCAL_X2APIC_NMI 0x0A
447 #define EFI_ACPI_5_0_GIC 0x0B
448 #define EFI_ACPI_5_0_GICD 0x0C
449 
450 //
451 // APIC Structure Definitions
452 //
453 
454 ///
455 /// Processor Local APIC Structure Definition
456 ///
457 typedef struct {
464 
465 ///
466 /// Local APIC Flags. All other bits are reserved and must be 0.
467 ///
468 #define EFI_ACPI_5_0_LOCAL_APIC_ENABLED BIT0
469 
470 ///
471 /// IO APIC Structure
472 ///
473 typedef struct {
481 
482 ///
483 /// Interrupt Source Override Structure
484 ///
485 typedef struct {
493 
494 ///
495 /// Platform Interrupt Sources Structure Definition
496 ///
497 typedef struct {
510 
511 //
512 // MPS INTI flags.
513 // All other bits are reserved and must be set to 0.
514 //
515 #define EFI_ACPI_5_0_POLARITY (3 << 0)
516 #define EFI_ACPI_5_0_TRIGGER_MODE (3 << 2)
517 
518 ///
519 /// Non-Maskable Interrupt Source Structure
520 ///
521 typedef struct {
527 
528 ///
529 /// Local APIC NMI Structure
530 ///
531 typedef struct {
538 
539 ///
540 /// Local APIC Address Override Structure
541 ///
542 typedef struct {
548 
549 ///
550 /// IO SAPIC Structure
551 ///
552 typedef struct {
560 
561 ///
562 /// Local SAPIC Structure
563 /// This struct followed by a null-terminated ASCII string - ACPI Processor UID String
564 ///
565 typedef struct {
575 
576 ///
577 /// Platform Interrupt Sources Structure
578 ///
579 typedef struct {
590 
591 ///
592 /// Platform Interrupt Source Flags.
593 /// All other bits are reserved and must be set to 0.
594 ///
595 #define EFI_ACPI_5_0_CPEI_PROCESSOR_OVERRIDE BIT0
596 
597 ///
598 /// Processor Local x2APIC Structure Definition
599 ///
600 typedef struct {
608 
609 ///
610 /// Local x2APIC NMI Structure
611 ///
612 typedef struct {
620 
621 ///
622 /// GIC Structure
623 ///
624 typedef struct {
636 
637 ///
638 /// GIC Flags. All other bits are reserved and must be 0.
639 ///
640 #define EFI_ACPI_5_0_GIC_ENABLED BIT0
641 #define EFI_ACPI_5_0_PERFORMANCE_INTERRUPT_MODEL BIT1
642 
643 ///
644 /// GIC Distributor Structure
645 ///
646 typedef struct {
655 
656 ///
657 /// Smart Battery Description Table (SBST)
658 ///
659 typedef struct {
665 
666 ///
667 /// SBST Version (as defined in ACPI 5.0 spec.)
668 ///
669 #define EFI_ACPI_5_0_SMART_BATTERY_DESCRIPTION_TABLE_REVISION 0x01
670 
671 ///
672 /// Embedded Controller Boot Resources Table (ECDT)
673 /// The table is followed by a null terminated ASCII string that contains
674 /// a fully qualified reference to the name space object.
675 ///
676 typedef struct {
683 
684 ///
685 /// ECDT Version (as defined in ACPI 5.0 spec.)
686 ///
687 #define EFI_ACPI_5_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_REVISION 0x01
688 
689 ///
690 /// System Resource Affinity Table (SRAT). The rest of the table
691 /// must be defined in a platform specific manner.
692 ///
693 typedef struct {
695  UINT32 Reserved1; ///< Must be set to 1
698 
699 ///
700 /// SRAT Version (as defined in ACPI 5.0 spec.)
701 ///
702 #define EFI_ACPI_5_0_SYSTEM_RESOURCE_AFFINITY_TABLE_REVISION 0x03
703 
704 //
705 // SRAT structure types.
706 // All other values between 0x03 an 0xFF are reserved and
707 // will be ignored by OSPM.
708 //
709 #define EFI_ACPI_5_0_PROCESSOR_LOCAL_APIC_SAPIC_AFFINITY 0x00
710 #define EFI_ACPI_5_0_MEMORY_AFFINITY 0x01
711 #define EFI_ACPI_5_0_PROCESSOR_LOCAL_X2APIC_AFFINITY 0x02
712 
713 ///
714 /// Processor Local APIC/SAPIC Affinity Structure Definition
715 ///
716 typedef struct {
723  UINT8 ProximityDomain31To8[3];
726 
727 ///
728 /// Local APIC/SAPIC Flags. All other bits are reserved and must be 0.
729 ///
730 #define EFI_ACPI_5_0_PROCESSOR_LOCAL_APIC_SAPIC_ENABLED (1 << 0)
731 
732 ///
733 /// Memory Affinity Structure Definition
734 ///
735 typedef struct {
748 
749 //
750 // Memory Flags. All other bits are reserved and must be 0.
751 //
752 #define EFI_ACPI_5_0_MEMORY_ENABLED (1 << 0)
753 #define EFI_ACPI_5_0_MEMORY_HOT_PLUGGABLE (1 << 1)
754 #define EFI_ACPI_5_0_MEMORY_NONVOLATILE (1 << 2)
755 
756 ///
757 /// Processor Local x2APIC Affinity Structure Definition
758 ///
759 typedef struct {
762  UINT8 Reserved1[2];
767  UINT8 Reserved2[4];
769 
770 ///
771 /// System Locality Distance Information Table (SLIT).
772 /// The rest of the table is a matrix.
773 ///
774 typedef struct {
778 
779 ///
780 /// SLIT Version (as defined in ACPI 5.0 spec.)
781 ///
782 #define EFI_ACPI_5_0_SYSTEM_LOCALITY_DISTANCE_INFORMATION_TABLE_REVISION 0x01
783 
784 ///
785 /// Corrected Platform Error Polling Table (CPEP)
786 ///
787 typedef struct {
791 
792 ///
793 /// CPEP Version (as defined in ACPI 5.0 spec.)
794 ///
795 #define EFI_ACPI_5_0_CORRECTED_PLATFORM_ERROR_POLLING_TABLE_REVISION 0x01
796 
797 //
798 // CPEP processor structure types.
799 //
800 #define EFI_ACPI_5_0_CPEP_PROCESSOR_APIC_SAPIC 0x00
801 
802 ///
803 /// Corrected Platform Error Polling Processor Structure Definition
804 ///
805 typedef struct {
812 
813 ///
814 /// Maximum System Characteristics Table (MSCT)
815 ///
816 typedef struct {
823 
824 ///
825 /// MSCT Version (as defined in ACPI 5.0 spec.)
826 ///
827 #define EFI_ACPI_5_0_MAXIMUM_SYSTEM_CHARACTERISTICS_TABLE_REVISION 0x01
828 
829 ///
830 /// Maximum Proximity Domain Information Structure Definition
831 ///
832 typedef struct {
840 
841 ///
842 /// ACPI RAS Feature Table definition.
843 ///
844 typedef struct {
846  UINT8 PlatformCommunicationChannelIdentifier[12];
848 
849 ///
850 /// RASF Version (as defined in ACPI 5.0 spec.)
851 ///
852 #define EFI_ACPI_5_0_RAS_FEATURE_TABLE_REVISION 0x01
853 
854 ///
855 /// ACPI RASF Platform Communication Channel Shared Memory Region definition.
856 ///
857 typedef struct {
862  UINT8 RASCapabilities[16];
863  UINT8 SetRASCapabilities[16];
867 
868 ///
869 /// ACPI RASF PCC command code
870 ///
871 #define EFI_ACPI_5_0_RASF_PCC_COMMAND_CODE_EXECUTE_RASF_COMMAND 0x01
872 
873 ///
874 /// ACPI RASF Platform RAS Capabilities
875 ///
876 #define EFI_ACPI_5_0_RASF_PLATFORM_RAS_CAPABILITY_HARDWARE_BASED_PATROL_SCRUB_SUPPOTED 0x01
877 #define EFI_ACPI_5_0_RASF_PLATFORM_RAS_CAPABILITY_HARDWARE_BASED_PATROL_SCRUB_SUPPOTED_AND_EXPOSED_TO_SOFTWARE 0x02
878 
879 ///
880 /// ACPI RASF Parameter Block structure for PATROL_SCRUB
881 ///
882 typedef struct {
887  UINT64 RequestedAddressRange[2];
888  UINT64 ActualAddressRange[2];
892 
893 ///
894 /// ACPI RASF Patrol Scrub command
895 ///
896 #define EFI_ACPI_5_0_RASF_PATROL_SCRUB_COMMAND_GET_PATROL_PARAMETERS 0x01
897 #define EFI_ACPI_5_0_RASF_PATROL_SCRUB_COMMAND_START_PATROL_SCRUBBER 0x02
898 #define EFI_ACPI_5_0_RASF_PATROL_SCRUB_COMMAND_STOP_PATROL_SCRUBBER 0x03
899 
900 ///
901 /// Memory Power State Table definition.
902 ///
903 typedef struct {
907  // Memory Power Node Structure
908  // Memory Power State Characteristics
910 
911 ///
912 /// MPST Version (as defined in ACPI 5.0 spec.)
913 ///
914 #define EFI_ACPI_5_0_MEMORY_POWER_STATE_TABLE_REVISION 0x01
915 
916 ///
917 /// MPST Platform Communication Channel Shared Memory Region definition.
918 ///
919 typedef struct {
930 
931 ///
932 /// ACPI MPST PCC command code
933 ///
934 #define EFI_ACPI_5_0_MPST_PCC_COMMAND_CODE_EXECUTE_MPST_COMMAND 0x03
935 
936 ///
937 /// ACPI MPST Memory Power command
938 ///
939 #define EFI_ACPI_5_0_MPST_MEMORY_POWER_COMMAND_GET_MEMORY_POWER_STATE 0x01
940 #define EFI_ACPI_5_0_MPST_MEMORY_POWER_COMMAND_SET_MEMORY_POWER_STATE 0x02
941 #define EFI_ACPI_5_0_MPST_MEMORY_POWER_COMMAND_GET_AVERAGE_POWER_CONSUMED 0x03
942 #define EFI_ACPI_5_0_MPST_MEMORY_POWER_COMMAND_GET_MEMORY_ENERGY_CONSUMED 0x04
943 
944 ///
945 /// MPST Memory Power Node Table
946 ///
947 typedef struct {
951 
952 typedef struct {
961  // EFI_ACPI_5_0_MPST_MEMORY_POWER_STATE MemoryPowerState[NumberOfPowerStates];
962  // UINT16 PhysicalComponentIdentifier[NumberOfPhysicalComponents];
964 
965 #define EFI_ACPI_5_0_MPST_MEMORY_POWER_STRUCTURE_FLAG_ENABLE 0x01
966 #define EFI_ACPI_5_0_MPST_MEMORY_POWER_STRUCTURE_FLAG_POWER_MANAGED 0x02
967 #define EFI_ACPI_5_0_MPST_MEMORY_POWER_STRUCTURE_FLAG_HOT_PLUGGABLE 0x04
968 
969 typedef struct {
973 
974 ///
975 /// MPST Memory Power State Characteristics Table
976 ///
977 typedef struct {
985 
986 #define EFI_ACPI_5_0_MPST_MEMORY_POWER_STATE_CHARACTERISTICS_STRUCTURE_FLAG_MEMORY_CONTENT_PRESERVED 0x01
987 #define EFI_ACPI_5_0_MPST_MEMORY_POWER_STATE_CHARACTERISTICS_STRUCTURE_FLAG_AUTONOMOUS_MEMORY_POWER_STATE_ENTRY 0x02
988 #define EFI_ACPI_5_0_MPST_MEMORY_POWER_STATE_CHARACTERISTICS_STRUCTURE_FLAG_AUTONOMOUS_MEMORY_POWER_STATE_EXIT 0x04
989 
990 typedef struct {
994 
995 ///
996 /// Memory Topology Table definition.
997 ///
998 typedef struct {
1002 
1003 ///
1004 /// PMTT Version (as defined in ACPI 5.0 spec.)
1005 ///
1006 #define EFI_ACPI_5_0_MEMORY_TOPOLOGY_TABLE_REVISION 0x01
1007 
1008 ///
1009 /// Common Memory Aggregator Device Structure.
1010 ///
1011 typedef struct {
1018 
1019 ///
1020 /// Memory Aggregator Device Type
1021 ///
1022 #define EFI_ACPI_5_0_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_SOCKET 0x0
1023 #define EFI_ACPI_5_0_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_MEMORY_CONTROLLER 0x1
1024 #define EFI_ACPI_5_0_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_DIMM 0x2
1025 
1026 ///
1027 /// Socket Memory Aggregator Device Structure.
1028 ///
1029 typedef struct {
1033  // EFI_ACPI_5_0_PMMT_MEMORY_CONTROLLER_MEMORY_AGGREGATOR_DEVICE_STRUCTURE MemoryController[];
1035 
1036 ///
1037 /// MemoryController Memory Aggregator Device Structure.
1038 ///
1039 typedef struct {
1049  // UINT32 ProximityDomain[NumberOfProximityDomains];
1050  // EFI_ACPI_5_0_PMMT_DIMM_MEMORY_AGGREGATOR_DEVICE_STRUCTURE PhysicalComponent[];
1052 
1053 ///
1054 /// DIMM Memory Aggregator Device Structure.
1055 ///
1056 typedef struct {
1063 
1064 ///
1065 /// Boot Graphics Resource Table definition.
1066 ///
1067 typedef struct {
1069  ///
1070  /// 2-bytes (16 bit) version ID. This value must be 1.
1071  ///
1073  ///
1074  /// 1-byte status field indicating current status about the table.
1075  /// Bits[7:1] = Reserved (must be zero)
1076  /// Bit [0] = Valid. A one indicates the boot image graphic is valid.
1077  ///
1079  ///
1080  /// 1-byte enumerated type field indicating format of the image.
1081  /// 0 = Bitmap
1082  /// 1 - 255 Reserved (for future use)
1083  ///
1085  ///
1086  /// 8-byte (64 bit) physical address pointing to the firmware's in-memory copy
1087  /// of the image bitmap.
1088  ///
1090  ///
1091  /// A 4-byte (32-bit) unsigned long describing the display X-offset of the boot image.
1092  /// (X, Y) display offset of the top left corner of the boot image.
1093  /// The top left corner of the display is at offset (0, 0).
1094  ///
1096  ///
1097  /// A 4-byte (32-bit) unsigned long describing the display Y-offset of the boot image.
1098  /// (X, Y) display offset of the top left corner of the boot image.
1099  /// The top left corner of the display is at offset (0, 0).
1100  ///
1103 
1104 ///
1105 /// BGRT Revision
1106 ///
1107 #define EFI_ACPI_5_0_BOOT_GRAPHICS_RESOURCE_TABLE_REVISION 1
1108 
1109 ///
1110 /// BGRT Version
1111 ///
1112 #define EFI_ACPI_5_0_BGRT_VERSION 0x01
1113 
1114 ///
1115 /// BGRT Status
1116 ///
1117 #define EFI_ACPI_5_0_BGRT_STATUS_NOT_DISPLAYED 0x00
1118 #define EFI_ACPI_5_0_BGRT_STATUS_DISPLAYED 0x01
1119 #define EFI_ACPI_5_0_BGRT_STATUS_INVALID EFI_ACPI_5_0_BGRT_STATUS_NOT_DISPLAYED
1120 #define EFI_ACPI_5_0_BGRT_STATUS_VALID EFI_ACPI_5_0_BGRT_STATUS_DISPLAYED
1121 
1122 ///
1123 /// BGRT Image Type
1124 ///
1125 #define EFI_ACPI_5_0_BGRT_IMAGE_TYPE_BMP 0x00
1126 
1127 ///
1128 /// FPDT Version (as defined in ACPI 5.0 spec.)
1129 ///
1130 #define EFI_ACPI_5_0_FIRMWARE_PERFORMANCE_DATA_TABLE_REVISION 0x01
1131 
1132 ///
1133 /// FPDT Performance Record Types
1134 ///
1135 #define EFI_ACPI_5_0_FPDT_RECORD_TYPE_FIRMWARE_BASIC_BOOT_POINTER 0x0000
1136 #define EFI_ACPI_5_0_FPDT_RECORD_TYPE_S3_PERFORMANCE_TABLE_POINTER 0x0001
1137 
1138 ///
1139 /// FPDT Performance Record Revision
1140 ///
1141 #define EFI_ACPI_5_0_FPDT_RECORD_REVISION_FIRMWARE_BASIC_BOOT_POINTER 0x01
1142 #define EFI_ACPI_5_0_FPDT_RECORD_REVISION_S3_PERFORMANCE_TABLE_POINTER 0x01
1143 
1144 ///
1145 /// FPDT Runtime Performance Record Types
1146 ///
1147 #define EFI_ACPI_5_0_FPDT_RUNTIME_RECORD_TYPE_S3_RESUME 0x0000
1148 #define EFI_ACPI_5_0_FPDT_RUNTIME_RECORD_TYPE_S3_SUSPEND 0x0001
1149 #define EFI_ACPI_5_0_FPDT_RUNTIME_RECORD_TYPE_FIRMWARE_BASIC_BOOT 0x0002
1150 
1151 ///
1152 /// FPDT Runtime Performance Record Revision
1153 ///
1154 #define EFI_ACPI_5_0_FPDT_RUNTIME_RECORD_REVISION_S3_RESUME 0x01
1155 #define EFI_ACPI_5_0_FPDT_RUNTIME_RECORD_REVISION_S3_SUSPEND 0x01
1156 #define EFI_ACPI_5_0_FPDT_RUNTIME_RECORD_REVISION_FIRMWARE_BASIC_BOOT 0x02
1157 
1158 ///
1159 /// FPDT Performance Record header
1160 ///
1161 typedef struct {
1166 
1167 ///
1168 /// FPDT Performance Table header
1169 ///
1170 typedef struct {
1174 
1175 ///
1176 /// FPDT Firmware Basic Boot Performance Pointer Record Structure
1177 ///
1178 typedef struct {
1181  ///
1182  /// 64-bit processor-relative physical address of the Basic Boot Performance Table.
1183  ///
1186 
1187 ///
1188 /// FPDT S3 Performance Table Pointer Record Structure
1189 ///
1190 typedef struct {
1193  ///
1194  /// 64-bit processor-relative physical address of the S3 Performance Table.
1195  ///
1198 
1199 ///
1200 /// FPDT Firmware Basic Boot Performance Record Structure
1201 ///
1202 typedef struct {
1205  ///
1206  /// Timer value logged at the beginning of firmware image execution.
1207  /// This may not always be zero or near zero.
1208  ///
1210  ///
1211  /// Timer value logged just prior to loading the OS boot loader into memory.
1212  /// For non-UEFI compatible boots, this field must be zero.
1213  ///
1215  ///
1216  /// Timer value logged just prior to launching the previously loaded OS boot loader image.
1217  /// For non-UEFI compatible boots, the timer value logged will be just prior
1218  /// to the INT 19h handler invocation.
1219  ///
1221  ///
1222  /// Timer value logged at the point when the OS loader calls the
1223  /// ExitBootServices function for UEFI compatible firmware.
1224  /// For non-UEFI compatible boots, this field must be zero.
1225  ///
1227  ///
1228  /// Timer value logged at the point just prior to when the OS loader gaining
1229  /// control back from calls the ExitBootServices function for UEFI compatible firmware.
1230  /// For non-UEFI compatible boots, this field must be zero.
1231  ///
1234 
1235 ///
1236 /// FPDT Firmware Basic Boot Performance Table signature
1237 ///
1238 #define EFI_ACPI_5_0_FPDT_BOOT_PERFORMANCE_TABLE_SIGNATURE SIGNATURE_32('F', 'B', 'P', 'T')
1239 
1240 //
1241 // FPDT Firmware Basic Boot Performance Table
1242 //
1243 typedef struct {
1245  //
1246  // one or more Performance Records.
1247  //
1249 
1250 ///
1251 /// FPDT "S3PT" S3 Performance Table
1252 ///
1253 #define EFI_ACPI_5_0_FPDT_S3_PERFORMANCE_TABLE_SIGNATURE SIGNATURE_32('S', '3', 'P', 'T')
1254 
1255 //
1256 // FPDT Firmware S3 Boot Performance Table
1257 //
1258 typedef struct {
1260  //
1261  // one or more Performance Records.
1262  //
1264 
1265 ///
1266 /// FPDT Basic S3 Resume Performance Record
1267 ///
1268 typedef struct {
1270  ///
1271  /// A count of the number of S3 resume cycles since the last full boot sequence.
1272  ///
1274  ///
1275  /// Timer recorded at the end of BIOS S3 resume, just prior to handoff to the
1276  /// OS waking vector. Only the most recent resume cycle's time is retained.
1277  ///
1279  ///
1280  /// Average timer value of all resume cycles logged since the last full boot
1281  /// sequence, including the most recent resume. Note that the entire log of
1282  /// timer values does not need to be retained in order to calculate this average.
1283  ///
1286 
1287 ///
1288 /// FPDT Basic S3 Suspend Performance Record
1289 ///
1290 typedef struct {
1292  ///
1293  /// Timer value recorded at the OS write to SLP_TYP upon entry to S3.
1294  /// Only the most recent suspend cycle's timer value is retained.
1295  ///
1297  ///
1298  /// Timer value recorded at the final firmware write to SLP_TYP (or other
1299  /// mechanism) used to trigger hardware entry to S3.
1300  /// Only the most recent suspend cycle's timer value is retained.
1301  ///
1304 
1305 ///
1306 /// Firmware Performance Record Table definition.
1307 ///
1308 typedef struct {
1311 
1312 ///
1313 /// Generic Timer Description Table definition.
1314 ///
1315 typedef struct {
1328 
1329 ///
1330 /// GTDT Version (as defined in ACPI 5.0 spec.)
1331 ///
1332 #define EFI_ACPI_5_0_GENERIC_TIMER_DESCRIPTION_TABLE_REVISION 0x01
1333 
1334 ///
1335 /// Global Flags. All other bits are reserved and must be 0.
1336 ///
1337 #define EFI_ACPI_5_0_GTDT_GLOBAL_FLAG_MEMORY_MAPPED_BLOCK_PRESENT BIT0
1338 #define EFI_ACPI_5_0_GTDT_GLOBAL_FLAG_INTERRUPT_MODE BIT1
1339 
1340 ///
1341 /// Timer Flags. All other bits are reserved and must be 0.
1342 ///
1343 #define EFI_ACPI_5_0_GTDT_TIMER_FLAG_TIMER_INTERRUPT_MODE BIT0
1344 #define EFI_ACPI_5_0_GTDT_TIMER_FLAG_TIMER_INTERRUPT_POLARITY BIT1
1345 
1346 ///
1347 /// Boot Error Record Table (BERT)
1348 ///
1349 typedef struct {
1354 
1355 ///
1356 /// BERT Version (as defined in ACPI 5.0 spec.)
1357 ///
1358 #define EFI_ACPI_5_0_BOOT_ERROR_RECORD_TABLE_REVISION 0x01
1359 
1360 ///
1361 /// Boot Error Region Block Status Definition
1362 ///
1363 typedef struct {
1371 
1372 ///
1373 /// Boot Error Region Definition
1374 ///
1375 typedef struct {
1382 
1383 //
1384 // Boot Error Severity types
1385 //
1386 #define EFI_ACPI_5_0_ERROR_SEVERITY_CORRECTABLE 0x00
1387 #define EFI_ACPI_5_0_ERROR_SEVERITY_RECOVERABLE 0x00
1388 #define EFI_ACPI_5_0_ERROR_SEVERITY_FATAL 0x01
1389 #define EFI_ACPI_5_0_ERROR_SEVERITY_CORRECTED 0x02
1390 #define EFI_ACPI_5_0_ERROR_SEVERITY_NONE 0x03
1391 
1392 ///
1393 /// Generic Error Data Entry Definition
1394 ///
1395 typedef struct {
1396  UINT8 SectionType[16];
1402  UINT8 FruId[16];
1403  UINT8 FruText[20];
1405 
1406 ///
1407 /// Generic Error Data Entry Version (as defined in ACPI 5.0 spec.)
1408 ///
1409 #define EFI_ACPI_5_0_GENERIC_ERROR_DATA_ENTRY_REVISION 0x0201
1410 
1411 ///
1412 /// HEST - Hardware Error Source Table
1413 ///
1414 typedef struct {
1418 
1419 ///
1420 /// HEST Version (as defined in ACPI 5.0 spec.)
1421 ///
1422 #define EFI_ACPI_5_0_HARDWARE_ERROR_SOURCE_TABLE_REVISION 0x01
1423 
1424 //
1425 // Error Source structure types.
1426 //
1427 #define EFI_ACPI_5_0_IA32_ARCHITECTURE_MACHINE_CHECK_EXCEPTION 0x00
1428 #define EFI_ACPI_5_0_IA32_ARCHITECTURE_CORRECTED_MACHINE_CHECK 0x01
1429 #define EFI_ACPI_5_0_IA32_ARCHITECTURE_NMI_ERROR 0x02
1430 #define EFI_ACPI_5_0_PCI_EXPRESS_ROOT_PORT_AER 0x06
1431 #define EFI_ACPI_5_0_PCI_EXPRESS_DEVICE_AER 0x07
1432 #define EFI_ACPI_5_0_PCI_EXPRESS_BRIDGE_AER 0x08
1433 #define EFI_ACPI_5_0_GENERIC_HARDWARE_ERROR 0x09
1434 
1435 //
1436 // Error Source structure flags.
1437 //
1438 #define EFI_ACPI_5_0_ERROR_SOURCE_FLAG_FIRMWARE_FIRST (1 << 0)
1439 #define EFI_ACPI_5_0_ERROR_SOURCE_FLAG_GLOBAL (1 << 1)
1440 
1441 ///
1442 /// IA-32 Architecture Machine Check Exception Structure Definition
1443 ///
1444 typedef struct {
1447  UINT8 Reserved0[2];
1455  UINT8 Reserved1[7];
1457 
1458 ///
1459 /// IA-32 Architecture Machine Check Bank Structure Definition
1460 ///
1461 typedef struct {
1472 
1473 ///
1474 /// IA-32 Architecture Machine Check Bank Structure MCA data format
1475 ///
1476 #define EFI_ACPI_5_0_IA32_ARCHITECTURE_MACHINE_CHECK_ERROR_DATA_FORMAT_IA32 0x00
1477 #define EFI_ACPI_5_0_IA32_ARCHITECTURE_MACHINE_CHECK_ERROR_DATA_FORMAT_INTEL64 0x01
1478 #define EFI_ACPI_5_0_IA32_ARCHITECTURE_MACHINE_CHECK_ERROR_DATA_FORMAT_AMD64 0x02
1479 
1480 //
1481 // Hardware Error Notification types. All other values are reserved
1482 //
1483 #define EFI_ACPI_5_0_HARDWARE_ERROR_NOTIFICATION_POLLED 0x00
1484 #define EFI_ACPI_5_0_HARDWARE_ERROR_NOTIFICATION_EXTERNAL_INTERRUPT 0x01
1485 #define EFI_ACPI_5_0_HARDWARE_ERROR_NOTIFICATION_LOCAL_INTERRUPT 0x02
1486 #define EFI_ACPI_5_0_HARDWARE_ERROR_NOTIFICATION_SCI 0x03
1487 #define EFI_ACPI_5_0_HARDWARE_ERROR_NOTIFICATION_NMI 0x04
1488 
1489 ///
1490 /// Hardware Error Notification Configuration Write Enable Structure Definition
1491 ///
1492 typedef struct {
1501 
1502 ///
1503 /// Hardware Error Notification Structure Definition
1504 ///
1505 typedef struct {
1516 
1517 ///
1518 /// IA-32 Architecture Corrected Machine Check Structure Definition
1519 ///
1520 typedef struct {
1523  UINT8 Reserved0[2];
1530  UINT8 Reserved1[3];
1532 
1533 ///
1534 /// IA-32 Architecture NMI Error Structure Definition
1535 ///
1536 typedef struct {
1539  UINT8 Reserved0[2];
1544 
1545 ///
1546 /// PCI Express Root Port AER Structure Definition
1547 ///
1548 typedef struct {
1551  UINT8 Reserved0[2];
1560  UINT8 Reserved1[2];
1567 
1568 ///
1569 /// PCI Express Device AER Structure Definition
1570 ///
1571 typedef struct {
1574  UINT8 Reserved0[2];
1583  UINT8 Reserved1[2];
1589 
1590 ///
1591 /// PCI Express Bridge AER Structure Definition
1592 ///
1593 typedef struct {
1596  UINT8 Reserved0[2];
1605  UINT8 Reserved1[2];
1614 
1615 ///
1616 /// Generic Hardware Error Source Structure Definition
1617 ///
1618 typedef struct {
1631 
1632 ///
1633 /// Generic Error Status Definition
1634 ///
1635 typedef struct {
1642 
1643 ///
1644 /// ERST - Error Record Serialization Table
1645 ///
1646 typedef struct {
1649  UINT8 Reserved0[4];
1652 
1653 ///
1654 /// ERST Version (as defined in ACPI 5.0 spec.)
1655 ///
1656 #define EFI_ACPI_5_0_ERROR_RECORD_SERIALIZATION_TABLE_REVISION 0x01
1657 
1658 ///
1659 /// ERST Serialization Actions
1660 ///
1661 #define EFI_ACPI_5_0_ERST_BEGIN_WRITE_OPERATION 0x00
1662 #define EFI_ACPI_5_0_ERST_BEGIN_READ_OPERATION 0x01
1663 #define EFI_ACPI_5_0_ERST_BEGIN_CLEAR_OPERATION 0x02
1664 #define EFI_ACPI_5_0_ERST_END_OPERATION 0x03
1665 #define EFI_ACPI_5_0_ERST_SET_RECORD_OFFSET 0x04
1666 #define EFI_ACPI_5_0_ERST_EXECUTE_OPERATION 0x05
1667 #define EFI_ACPI_5_0_ERST_CHECK_BUSY_STATUS 0x06
1668 #define EFI_ACPI_5_0_ERST_GET_COMMAND_STATUS 0x07
1669 #define EFI_ACPI_5_0_ERST_GET_RECORD_IDENTIFIER 0x08
1670 #define EFI_ACPI_5_0_ERST_SET_RECORD_IDENTIFIER 0x09
1671 #define EFI_ACPI_5_0_ERST_GET_RECORD_COUNT 0x0A
1672 #define EFI_ACPI_5_0_ERST_BEGIN_DUMMY_WRITE_OPERATION 0x0B
1673 #define EFI_ACPI_5_0_ERST_GET_ERROR_LOG_ADDRESS_RANGE 0x0D
1674 #define EFI_ACPI_5_0_ERST_GET_ERROR_LOG_ADDRESS_RANGE_LENGTH 0x0E
1675 #define EFI_ACPI_5_0_ERST_GET_ERROR_LOG_ADDRESS_RANGE_ATTRIBUTES 0x0F
1676 
1677 ///
1678 /// ERST Action Command Status
1679 ///
1680 #define EFI_ACPI_5_0_ERST_STATUS_SUCCESS 0x00
1681 #define EFI_ACPI_5_0_ERST_STATUS_NOT_ENOUGH_SPACE 0x01
1682 #define EFI_ACPI_5_0_ERST_STATUS_HARDWARE_NOT_AVAILABLE 0x02
1683 #define EFI_ACPI_5_0_ERST_STATUS_FAILED 0x03
1684 #define EFI_ACPI_5_0_ERST_STATUS_RECORD_STORE_EMPTY 0x04
1685 #define EFI_ACPI_5_0_ERST_STATUS_RECORD_NOT_FOUND 0x05
1686 
1687 ///
1688 /// ERST Serialization Instructions
1689 ///
1690 #define EFI_ACPI_5_0_ERST_READ_REGISTER 0x00
1691 #define EFI_ACPI_5_0_ERST_READ_REGISTER_VALUE 0x01
1692 #define EFI_ACPI_5_0_ERST_WRITE_REGISTER 0x02
1693 #define EFI_ACPI_5_0_ERST_WRITE_REGISTER_VALUE 0x03
1694 #define EFI_ACPI_5_0_ERST_NOOP 0x04
1695 #define EFI_ACPI_5_0_ERST_LOAD_VAR1 0x05
1696 #define EFI_ACPI_5_0_ERST_LOAD_VAR2 0x06
1697 #define EFI_ACPI_5_0_ERST_STORE_VAR1 0x07
1698 #define EFI_ACPI_5_0_ERST_ADD 0x08
1699 #define EFI_ACPI_5_0_ERST_SUBTRACT 0x09
1700 #define EFI_ACPI_5_0_ERST_ADD_VALUE 0x0A
1701 #define EFI_ACPI_5_0_ERST_SUBTRACT_VALUE 0x0B
1702 #define EFI_ACPI_5_0_ERST_STALL 0x0C
1703 #define EFI_ACPI_5_0_ERST_STALL_WHILE_TRUE 0x0D
1704 #define EFI_ACPI_5_0_ERST_SKIP_NEXT_INSTRUCTION_IF_TRUE 0x0E
1705 #define EFI_ACPI_5_0_ERST_GOTO 0x0F
1706 #define EFI_ACPI_5_0_ERST_SET_SRC_ADDRESS_BASE 0x10
1707 #define EFI_ACPI_5_0_ERST_SET_DST_ADDRESS_BASE 0x11
1708 #define EFI_ACPI_5_0_ERST_MOVE_DATA 0x12
1709 
1710 ///
1711 /// ERST Instruction Flags
1712 ///
1713 #define EFI_ACPI_5_0_ERST_PRESERVE_REGISTER 0x01
1714 
1715 ///
1716 /// ERST Serialization Instruction Entry
1717 ///
1718 typedef struct {
1727 
1728 ///
1729 /// EINJ - Error Injection Table
1730 ///
1731 typedef struct {
1735  UINT8 Reserved0[3];
1738 
1739 ///
1740 /// EINJ Version (as defined in ACPI 5.0 spec.)
1741 ///
1742 #define EFI_ACPI_5_0_ERROR_INJECTION_TABLE_REVISION 0x01
1743 
1744 ///
1745 /// EINJ Error Injection Actions
1746 ///
1747 #define EFI_ACPI_5_0_EINJ_BEGIN_INJECTION_OPERATION 0x00
1748 #define EFI_ACPI_5_0_EINJ_GET_TRIGGER_ERROR_ACTION_TABLE 0x01
1749 #define EFI_ACPI_5_0_EINJ_SET_ERROR_TYPE 0x02
1750 #define EFI_ACPI_5_0_EINJ_GET_ERROR_TYPE 0x03
1751 #define EFI_ACPI_5_0_EINJ_END_OPERATION 0x04
1752 #define EFI_ACPI_5_0_EINJ_EXECUTE_OPERATION 0x05
1753 #define EFI_ACPI_5_0_EINJ_CHECK_BUSY_STATUS 0x06
1754 #define EFI_ACPI_5_0_EINJ_GET_COMMAND_STATUS 0x07
1755 #define EFI_ACPI_5_0_EINJ_TRIGGER_ERROR 0xFF
1756 
1757 ///
1758 /// EINJ Action Command Status
1759 ///
1760 #define EFI_ACPI_5_0_EINJ_STATUS_SUCCESS 0x00
1761 #define EFI_ACPI_5_0_EINJ_STATUS_UNKNOWN_FAILURE 0x01
1762 #define EFI_ACPI_5_0_EINJ_STATUS_INVALID_ACCESS 0x02
1763 
1764 ///
1765 /// EINJ Error Type Definition
1766 ///
1767 #define EFI_ACPI_5_0_EINJ_ERROR_PROCESSOR_CORRECTABLE (1 << 0)
1768 #define EFI_ACPI_5_0_EINJ_ERROR_PROCESSOR_UNCORRECTABLE_NONFATAL (1 << 1)
1769 #define EFI_ACPI_5_0_EINJ_ERROR_PROCESSOR_UNCORRECTABLE_FATAL (1 << 2)
1770 #define EFI_ACPI_5_0_EINJ_ERROR_MEMORY_CORRECTABLE (1 << 3)
1771 #define EFI_ACPI_5_0_EINJ_ERROR_MEMORY_UNCORRECTABLE_NONFATAL (1 << 4)
1772 #define EFI_ACPI_5_0_EINJ_ERROR_MEMORY_UNCORRECTABLE_FATAL (1 << 5)
1773 #define EFI_ACPI_5_0_EINJ_ERROR_PCI_EXPRESS_CORRECTABLE (1 << 6)
1774 #define EFI_ACPI_5_0_EINJ_ERROR_PCI_EXPRESS_UNCORRECTABLE_NONFATAL (1 << 7)
1775 #define EFI_ACPI_5_0_EINJ_ERROR_PCI_EXPRESS_UNCORRECTABLE_FATAL (1 << 8)
1776 #define EFI_ACPI_5_0_EINJ_ERROR_PLATFORM_CORRECTABLE (1 << 9)
1777 #define EFI_ACPI_5_0_EINJ_ERROR_PLATFORM_UNCORRECTABLE_NONFATAL (1 << 10)
1778 #define EFI_ACPI_5_0_EINJ_ERROR_PLATFORM_UNCORRECTABLE_FATAL (1 << 11)
1779 
1780 ///
1781 /// EINJ Injection Instructions
1782 ///
1783 #define EFI_ACPI_5_0_EINJ_READ_REGISTER 0x00
1784 #define EFI_ACPI_5_0_EINJ_READ_REGISTER_VALUE 0x01
1785 #define EFI_ACPI_5_0_EINJ_WRITE_REGISTER 0x02
1786 #define EFI_ACPI_5_0_EINJ_WRITE_REGISTER_VALUE 0x03
1787 #define EFI_ACPI_5_0_EINJ_NOOP 0x04
1788 
1789 ///
1790 /// EINJ Instruction Flags
1791 ///
1792 #define EFI_ACPI_5_0_EINJ_PRESERVE_REGISTER 0x01
1793 
1794 ///
1795 /// EINJ Injection Instruction Entry
1796 ///
1797 typedef struct {
1806 
1807 ///
1808 /// EINJ Trigger Action Table
1809 ///
1810 typedef struct {
1816 
1817 ///
1818 /// Platform Communications Channel Table (PCCT)
1819 ///
1820 typedef struct {
1825 
1826 ///
1827 /// PCCT Version (as defined in ACPI 5.0 spec.)
1828 ///
1829 #define EFI_ACPI_5_0_PLATFORM_COMMUNICATION_CHANNEL_TABLE_REVISION 0x01
1830 
1831 ///
1832 /// PCCT Global Flags
1833 ///
1834 #define EFI_ACPI_5_0_PCCT_FLAGS_SCI_DOORBELL BIT0
1835 
1836 //
1837 // PCCT Subspace type
1838 //
1839 #define EFI_ACPI_5_0_PCCT_SUBSPACE_TYPE_GENERIC 0x00
1840 
1841 ///
1842 /// PCC Subspace Structure Header
1843 ///
1844 typedef struct {
1848 
1849 ///
1850 /// Generic Communications Subspace Structure
1851 ///
1852 typedef struct {
1865 
1866 ///
1867 /// Generic Communications Channel Shared Memory Region
1868 ///
1869 
1870 typedef struct {
1875 
1876 typedef struct {
1884 
1885 typedef struct {
1890 
1891 //
1892 // Known table signatures
1893 //
1894 
1895 ///
1896 /// "RSD PTR " Root System Description Pointer
1897 ///
1898 #define EFI_ACPI_5_0_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE SIGNATURE_64('R', 'S', 'D', ' ', 'P', 'T', 'R', ' ')
1899 
1900 ///
1901 /// "APIC" Multiple APIC Description Table
1902 ///
1903 #define EFI_ACPI_5_0_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('A', 'P', 'I', 'C')
1904 
1905 ///
1906 /// "BERT" Boot Error Record Table
1907 ///
1908 #define EFI_ACPI_5_0_BOOT_ERROR_RECORD_TABLE_SIGNATURE SIGNATURE_32('B', 'E', 'R', 'T')
1909 
1910 ///
1911 /// "BGRT" Boot Graphics Resource Table
1912 ///
1913 #define EFI_ACPI_5_0_BOOT_GRAPHICS_RESOURCE_TABLE_SIGNATURE SIGNATURE_32('B', 'G', 'R', 'T')
1914 
1915 ///
1916 /// "CPEP" Corrected Platform Error Polling Table
1917 ///
1918 #define EFI_ACPI_5_0_CORRECTED_PLATFORM_ERROR_POLLING_TABLE_SIGNATURE SIGNATURE_32('C', 'P', 'E', 'P')
1919 
1920 ///
1921 /// "DSDT" Differentiated System Description Table
1922 ///
1923 #define EFI_ACPI_5_0_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('D', 'S', 'D', 'T')
1924 
1925 ///
1926 /// "ECDT" Embedded Controller Boot Resources Table
1927 ///
1928 #define EFI_ACPI_5_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_SIGNATURE SIGNATURE_32('E', 'C', 'D', 'T')
1929 
1930 ///
1931 /// "EINJ" Error Injection Table
1932 ///
1933 #define EFI_ACPI_5_0_ERROR_INJECTION_TABLE_SIGNATURE SIGNATURE_32('E', 'I', 'N', 'J')
1934 
1935 ///
1936 /// "ERST" Error Record Serialization Table
1937 ///
1938 #define EFI_ACPI_5_0_ERROR_RECORD_SERIALIZATION_TABLE_SIGNATURE SIGNATURE_32('E', 'R', 'S', 'T')
1939 
1940 ///
1941 /// "FACP" Fixed ACPI Description Table
1942 ///
1943 #define EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('F', 'A', 'C', 'P')
1944 
1945 ///
1946 /// "FACS" Firmware ACPI Control Structure
1947 ///
1948 #define EFI_ACPI_5_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE SIGNATURE_32('F', 'A', 'C', 'S')
1949 
1950 ///
1951 /// "FPDT" Firmware Performance Data Table
1952 ///
1953 #define EFI_ACPI_5_0_FIRMWARE_PERFORMANCE_DATA_TABLE_SIGNATURE SIGNATURE_32('F', 'P', 'D', 'T')
1954 
1955 ///
1956 /// "GTDT" Generic Timer Description Table
1957 ///
1958 #define EFI_ACPI_5_0_GENERIC_TIMER_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('G', 'T', 'D', 'T')
1959 
1960 ///
1961 /// "HEST" Hardware Error Source Table
1962 ///
1963 #define EFI_ACPI_5_0_HARDWARE_ERROR_SOURCE_TABLE_SIGNATURE SIGNATURE_32('H', 'E', 'S', 'T')
1964 
1965 ///
1966 /// "MPST" Memory Power State Table
1967 ///
1968 #define EFI_ACPI_5_0_MEMORY_POWER_STATE_TABLE_SIGNATURE SIGNATURE_32('M', 'P', 'S', 'T')
1969 
1970 ///
1971 /// "MSCT" Maximum System Characteristics Table
1972 ///
1973 #define EFI_ACPI_5_0_MAXIMUM_SYSTEM_CHARACTERISTICS_TABLE_SIGNATURE SIGNATURE_32('M', 'S', 'C', 'T')
1974 
1975 ///
1976 /// "PMTT" Platform Memory Topology Table
1977 ///
1978 #define EFI_ACPI_5_0_PLATFORM_MEMORY_TOPOLOGY_TABLE_SIGNATURE SIGNATURE_32('P', 'M', 'T', 'T')
1979 
1980 ///
1981 /// "PSDT" Persistent System Description Table
1982 ///
1983 #define EFI_ACPI_5_0_PERSISTENT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('P', 'S', 'D', 'T')
1984 
1985 ///
1986 /// "RASF" ACPI RAS Feature Table
1987 ///
1988 #define EFI_ACPI_5_0_ACPI_RAS_FEATURE_TABLE_SIGNATURE SIGNATURE_32('R', 'A', 'S', 'F')
1989 
1990 ///
1991 /// "RSDT" Root System Description Table
1992 ///
1993 #define EFI_ACPI_5_0_ROOT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('R', 'S', 'D', 'T')
1994 
1995 ///
1996 /// "SBST" Smart Battery Specification Table
1997 ///
1998 #define EFI_ACPI_5_0_SMART_BATTERY_SPECIFICATION_TABLE_SIGNATURE SIGNATURE_32('S', 'B', 'S', 'T')
1999 
2000 ///
2001 /// "SLIT" System Locality Information Table
2002 ///
2003 #define EFI_ACPI_5_0_SYSTEM_LOCALITY_INFORMATION_TABLE_SIGNATURE SIGNATURE_32('S', 'L', 'I', 'T')
2004 
2005 ///
2006 /// "SRAT" System Resource Affinity Table
2007 ///
2008 #define EFI_ACPI_5_0_SYSTEM_RESOURCE_AFFINITY_TABLE_SIGNATURE SIGNATURE_32('S', 'R', 'A', 'T')
2009 
2010 ///
2011 /// "SSDT" Secondary System Description Table
2012 ///
2013 #define EFI_ACPI_5_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('S', 'S', 'D', 'T')
2014 
2015 ///
2016 /// "XSDT" Extended System Description Table
2017 ///
2018 #define EFI_ACPI_5_0_EXTENDED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('X', 'S', 'D', 'T')
2019 
2020 ///
2021 /// "BOOT" MS Simple Boot Spec
2022 ///
2023 #define EFI_ACPI_5_0_SIMPLE_BOOT_FLAG_TABLE_SIGNATURE SIGNATURE_32('B', 'O', 'O', 'T')
2024 
2025 ///
2026 /// "CSRT" MS Core System Resource Table
2027 ///
2028 #define EFI_ACPI_5_0_CORE_SYSTEM_RESOURCE_TABLE_SIGNATURE SIGNATURE_32('C', 'S', 'R', 'T')
2029 
2030 ///
2031 /// "DBG2" MS Debug Port 2 Spec
2032 ///
2033 #define EFI_ACPI_5_0_DEBUG_PORT_2_TABLE_SIGNATURE SIGNATURE_32('D', 'B', 'G', '2')
2034 
2035 ///
2036 /// "DBGP" MS Debug Port Spec
2037 ///
2038 #define EFI_ACPI_5_0_DEBUG_PORT_TABLE_SIGNATURE SIGNATURE_32('D', 'B', 'G', 'P')
2039 
2040 ///
2041 /// "DMAR" DMA Remapping Table
2042 ///
2043 #define EFI_ACPI_5_0_DMA_REMAPPING_TABLE_SIGNATURE SIGNATURE_32('D', 'M', 'A', 'R')
2044 
2045 ///
2046 /// "DRTM" Dynamic Root of Trust for Measurement Table
2047 ///
2048 #define EFI_ACPI_5_0_DYNAMIC_ROOT_OF_TRUST_FOR_MEASUREMENT_TABLE_SIGNATURE SIGNATURE_32('D', 'R', 'T', 'M')
2049 
2050 ///
2051 /// "ETDT" Event Timer Description Table
2052 ///
2053 #define EFI_ACPI_5_0_EVENT_TIMER_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('E', 'T', 'D', 'T')
2054 
2055 ///
2056 /// "HPET" IA-PC High Precision Event Timer Table
2057 ///
2058 #define EFI_ACPI_5_0_HIGH_PRECISION_EVENT_TIMER_TABLE_SIGNATURE SIGNATURE_32('H', 'P', 'E', 'T')
2059 
2060 ///
2061 /// "iBFT" iSCSI Boot Firmware Table
2062 ///
2063 #define EFI_ACPI_5_0_ISCSI_BOOT_FIRMWARE_TABLE_SIGNATURE SIGNATURE_32('i', 'B', 'F', 'T')
2064 
2065 ///
2066 /// "IVRS" I/O Virtualization Reporting Structure
2067 ///
2068 #define EFI_ACPI_5_0_IO_VIRTUALIZATION_REPORTING_STRUCTURE_SIGNATURE SIGNATURE_32('I', 'V', 'R', 'S')
2069 
2070 ///
2071 /// "MCFG" PCI Express Memory Mapped Configuration Space Base Address Description Table
2072 ///
2073 #define EFI_ACPI_5_0_PCI_EXPRESS_MEMORY_MAPPED_CONFIGURATION_SPACE_BASE_ADDRESS_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('M', 'C', 'F', 'G')
2074 
2075 ///
2076 /// "MCHI" Management Controller Host Interface Table
2077 ///
2078 #define EFI_ACPI_5_0_MANAGEMENT_CONTROLLER_HOST_INTERFACE_TABLE_SIGNATURE SIGNATURE_32('M', 'C', 'H', 'I')
2079 
2080 ///
2081 /// "MSDM" MS Data Management Table
2082 ///
2083 #define EFI_ACPI_5_0_DATA_MANAGEMENT_TABLE_SIGNATURE SIGNATURE_32('M', 'S', 'D', 'M')
2084 
2085 ///
2086 /// "PCCT" Platform Communications Channel Table
2087 ///
2088 #define EFI_ACPI_5_0_PLATFORM_COMMUNICATIONS_CHANNEL_TABLE_SIGNATURE SIGNATURE_32('P', 'C', 'C', 'T')
2089 
2090 ///
2091 /// "SLIC" MS Software Licensing Table Specification
2092 ///
2093 #define EFI_ACPI_5_0_SOFTWARE_LICENSING_TABLE_SIGNATURE SIGNATURE_32('S', 'L', 'I', 'C')
2094 
2095 ///
2096 /// "SPCR" Serial Port Console Redirection Table
2097 ///
2098 #define EFI_ACPI_5_0_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'C', 'R')
2099 
2100 ///
2101 /// "SPMI" Server Platform Management Interface Table
2102 ///
2103 #define EFI_ACPI_5_0_SERVER_PLATFORM_MANAGEMENT_INTERFACE_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'M', 'I')
2104 
2105 ///
2106 /// "TCPA" Trusted Computing Platform Alliance Capabilities Table
2107 ///
2108 #define EFI_ACPI_5_0_TRUSTED_COMPUTING_PLATFORM_ALLIANCE_CAPABILITIES_TABLE_SIGNATURE SIGNATURE_32('T', 'C', 'P', 'A')
2109 
2110 ///
2111 /// "TPM2" Trusted Computing Platform 1 Table
2112 ///
2113 #define EFI_ACPI_5_0_TRUSTED_COMPUTING_PLATFORM_2_TABLE_SIGNATURE SIGNATURE_32('T', 'P', 'M', '2')
2114 
2115 ///
2116 /// "UEFI" UEFI ACPI Data Table
2117 ///
2118 #define EFI_ACPI_5_0_UEFI_ACPI_DATA_TABLE_SIGNATURE SIGNATURE_32('U', 'E', 'F', 'I')
2119 
2120 ///
2121 /// "WAET" Windows ACPI Emulated Devices Table
2122 ///
2123 #define EFI_ACPI_5_0_WINDOWS_ACPI_EMULATED_DEVICES_TABLE_SIGNATURE SIGNATURE_32('W', 'A', 'E', 'T')
2124 #define EFI_ACPI_5_0_WINDOWS_ACPI_ENLIGHTENMENT_TABLE_SIGNATURE EFI_ACPI_5_0_WINDOWS_ACPI_EMULATED_DEVICES_TABLE_SIGNATURE
2125 
2126 ///
2127 /// "WDAT" Watchdog Action Table
2128 ///
2129 #define EFI_ACPI_5_0_WATCHDOG_ACTION_TABLE_SIGNATURE SIGNATURE_32('W', 'D', 'A', 'T')
2130 
2131 ///
2132 /// "WDRT" Watchdog Resource Table
2133 ///
2134 #define EFI_ACPI_5_0_WATCHDOG_RESOURCE_TABLE_SIGNATURE SIGNATURE_32('W', 'D', 'R', 'T')
2135 
2136 ///
2137 /// "WPBT" MS Platform Binary Table
2138 ///
2139 #define EFI_ACPI_5_0_PLATFORM_BINARY_TABLE_SIGNATURE SIGNATURE_32('W', 'P', 'B', 'T')
2140 
2141 #pragma pack()
2142 
2143 #endif
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE XPm2CntBlk
Definition: Acpi50.h:301
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE RegisterRegion
Definition: Acpi50.h:1802
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE ErrorStatusAddress
Definition: Acpi50.h:1627
PCI Express Root Port AER Structure Definition.
Definition: Acpi50.h:1548
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE XPm1aEvtBlk
Definition: Acpi50.h:297
UINT8 Flags
Definition: Acpi50.h:1721
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi50.h:1309
Generic Hardware Error Source Structure Definition.
Definition: Acpi50.h:1618
UINT8 DataBitLength
Definition: Acpi50.h:131
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE SleepStatusReg
Definition: Acpi50.h:306
Boot Error Region Block Status Definition.
Definition: Acpi50.h:1363
UINT8 PinConfiguration
Definition: Acpi50.h:70
Embedded Controller Boot Resources Table (ECDT) The table is followed by a null terminated ASCII stri...
Definition: Acpi50.h:676
ACPI 4.0 definitions from the ACPI Specification Revision 4.0a April 5, 2010.
UINT8 Flags
Definition: Acpi50.h:1400
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi50.h:1732
UINT64 ExitBootServicesEntry
Timer value logged at the point when the OS loader calls the ExitBootServices function for UEFI compa...
Definition: Acpi50.h:1226
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE DoorbellRegister
Definition: Acpi50.h:1858
UINT32 ErrorDataLength
Definition: Acpi50.h:1401
FPDT Performance Table header.
Definition: Acpi50.h:1170
Common table header, this prefaces all ACPI tables, including FACS, but excluding the RSD PTR structu...
Definition: Acpi50.h:222
Memory Affinity Structure Definition.
Definition: Acpi50.h:735
GIC Structure.
Definition: Acpi50.h:624
Boot Error Region Definition.
Definition: Acpi50.h:1375
Platform Communications Channel Table (PCCT)
Definition: Acpi50.h:1820
IA-32 Architecture Corrected Machine Check Structure Definition.
Definition: Acpi50.h:1520
UINT8 Phase
Definition: Acpi50.h:132
FPDT Performance Record header.
Definition: Acpi50.h:1161
PACKED union @531 ACPI_SMALL_RESOURCE_HEADER
UINT32_t Reserved[2]
Must be zero.
Definition: pxe_api.h:76
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE XPm1bEvtBlk
Definition: Acpi50.h:298
UINT8 ImageType
1-byte enumerated type field indicating format of the image.
Definition: Acpi50.h:1084
Processor Local APIC Structure Definition.
Definition: Acpi50.h:457
Firmware ACPI Control Structure.
Definition: Acpi50.h:368
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi50.h:1068
Hardware Error Notification Structure Definition.
Definition: Acpi50.h:1505
UINT8 SerialLinesEnabled
Definition: Acpi50.h:153
HEST - Hardware Error Source Table.
Definition: Acpi50.h:1414
UINT64 FullResume
Timer recorded at the end of BIOS S3 resume, just prior to handoff to the OS waking vector.
Definition: Acpi50.h:1278
UINT16 VendorDataLength
Definition: Acpi50.h:77
EFI_ACPI_5_0_FPDT_PERFORMANCE_RECORD_HEADER Header
Definition: Acpi50.h:1203
EFI_ACPI_5_0_FPDT_PERFORMANCE_TABLE_HEADER Header
Definition: Acpi50.h:1244
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE SleepControlReg
Definition: Acpi50.h:305
UINT8 ResourceSourceIndex
Definition: Acpi50.h:74
EFI_ACPI_5_0_PMMT_COMMON_MEMORY_AGGREGATOR_DEVICE_STRUCTURE Header
Definition: Acpi50.h:1030
Platform Interrupt Sources Structure.
Definition: Acpi50.h:579
unsigned int UINT32
Definition: ProcessorBind.h:98
UINT8 DmaTransferWidth
Definition: Acpi50.h:58
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE XPm1bCntBlk
Definition: Acpi50.h:300
UINT64 Mask
Definition: Acpi50.h:1725
UINT8 Polarity
Definition: Acpi50.h:133
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi50.h:660
EFI_ACPI_5_0_FPDT_PERFORMANCE_RECORD_HEADER Header
Definition: Acpi50.h:1291
MPST Platform Communication Channel Shared Memory Region definition.
Definition: Acpi50.h:919
EFI_ACPI_5_0_HARDWARE_ERROR_NOTIFICATION_STRUCTURE NotificationStructure
Definition: Acpi50.h:1528
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi50.h:253
UINT64 ExitBootServicesExit
Timer value logged at the point just prior to when the OS loader gaining control back from calls the ...
Definition: Acpi50.h:1232
#define PACKED
Definition: Base.h:209
EINJ Injection Instruction Entry.
Definition: Acpi50.h:1797
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE EcData
Definition: Acpi50.h:679
MPST Memory Power State Characteristics Table.
Definition: Acpi50.h:977
Common Memory Aggregator Device Structure.
Definition: Acpi50.h:1011
UINT64 SuspendEnd
Timer value recorded at the final firmware write to SLP_TYP (or other mechanism) used to trigger hard...
Definition: Acpi50.h:1302
unsigned char UINT8
IA-32 Architecture Machine Check Bank Structure Definition.
Definition: Acpi50.h:1461
UINT64 ResetEnd
Timer value logged at the beginning of firmware image execution.
Definition: Acpi50.h:1209
UINT32 ConnectionSpeed
Definition: Acpi50.h:114
UINT64 SuspendStart
Timer value recorded at the OS write to SLP_TYP upon entry to S3.
Definition: Acpi50.h:1296
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE XPmTmrBlk
Definition: Acpi50.h:302
Fixed ACPI Description Table Structure (FADT)
Definition: Acpi50.h:252
Interrupt Source Override Structure.
Definition: Acpi50.h:485
EFI_ACPI_5_0_FPDT_PERFORMANCE_RECORD_HEADER Header
Definition: Acpi50.h:1179
UINT8 ValidationBits
Definition: Acpi50.h:1399
UINT8 InjectionAction
Definition: Acpi50.h:1798
Generic Communications Channel Shared Memory Region.
Definition: Acpi50.h:1870
Processor Local x2APIC Affinity Structure Definition.
Definition: Acpi50.h:759
Non-Maskable Interrupt Source Structure.
Definition: Acpi50.h:521
UINT16 RxFIFO
Definition: Acpi50.h:150
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE RegisterRegion
Definition: Acpi50.h:1723
Generic Communications Subspace Structure.
Definition: Acpi50.h:1852
GIC Distributor Structure.
Definition: Acpi50.h:646
Maximum Proximity Domain Information Structure Definition.
Definition: Acpi50.h:832
UINT8 Instruction
Definition: Acpi50.h:1720
UINT8 Reserved0
Definition: Acpi50.h:1801
Generic Timer Description Table definition.
Definition: Acpi50.h:1315
EINJ - Error Injection Table.
Definition: Acpi50.h:1731
UINT64 S3PerformanceTablePointer
64-bit processor-relative physical address of the S3 Performance Table.
Definition: Acpi50.h:1196
IA-32 Architecture Machine Check Exception Structure Definition.
Definition: Acpi50.h:1444
Local x2APIC NMI Structure.
Definition: Acpi50.h:612
UINT64 OsLoaderLoadImageStart
Timer value logged just prior to loading the OS boot loader into memory.
Definition: Acpi50.h:1214
UINT16 SlaveAddress
Definition: Acpi50.h:115
UINT8 SerializationAction
Definition: Acpi50.h:1719
Root System Description Pointer Structure.
Definition: Acpi50.h:201
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi50.h:999
UINT64 AverageResume
Average timer value of all resume cycles logged since the last full boot sequence,...
Definition: Acpi50.h:1284
ERST Serialization Instruction Entry.
Definition: Acpi50.h:1718
UINT8 SerialBusType
Definition: Acpi50.h:90
Local APIC NMI Structure.
Definition: Acpi50.h:531
Multiple APIC Description Table header definition.
Definition: Acpi50.h:414
Boot Graphics Resource Table definition.
Definition: Acpi50.h:1067
UINT32 ImageOffsetY
A 4-byte (32-bit) unsigned long describing the display Y-offset of the boot image.
Definition: Acpi50.h:1101
ACPI RASF Parameter Block structure for PATROL_SCRUB.
Definition: Acpi50.h:882
EFI_ACPI_5_0_FPDT_PERFORMANCE_RECORD_HEADER Header
Definition: Acpi50.h:1191
ERST - Error Record Serialization Table.
Definition: Acpi50.h:1646
UINT16 Version
2-bytes (16 bit) version ID.
Definition: Acpi50.h:1072
EFI_ACPI_5_0_FPDT_PERFORMANCE_TABLE_HEADER Header
Definition: Acpi50.h:1259
EFI_ACPI_5_0_ERROR_BLOCK_STATUS BlockStatus
Definition: Acpi50.h:1636
Memory Topology Table definition.
Definition: Acpi50.h:998
unsigned short UINT16
UINT64 BootPerformanceTablePointer
64-bit processor-relative physical address of the Basic Boot Performance Table.
Definition: Acpi50.h:1184
Corrected Platform Error Polling Table (CPEP)
Definition: Acpi50.h:787
UINT16 Revision
Definition: Acpi50.h:1398
PACKED struct @552 EFI_ACPI_SERIAL_BUS_RESOURCE_DESCRIPTOR
Serial Bus Resource Descriptor (Generic)
UINT16 DmaChannel
Definition: Acpi50.h:57
PCI Express Bridge AER Structure Definition.
Definition: Acpi50.h:1593
UINT16 ResourceSourceNameOffset
Definition: Acpi50.h:75
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE XPm1aCntBlk
Definition: Acpi50.h:299
System Locality Distance Information Table (SLIT).
Definition: Acpi50.h:774
UINT8 Reserved0
Definition: Acpi50.h:1722
UINT32 PerformanceInterruptGsiv
Definition: Acpi50.h:632
FPDT S3 Performance Table Pointer Record Structure.
Definition: Acpi50.h:1190
The common ACPI description table header.
Definition: Acpi10.h:29
MemoryController Memory Aggregator Device Structure.
Definition: Acpi50.h:1039
UINT16 DebounceTimeout
Definition: Acpi50.h:72
PACKED struct @554 EFI_ACPI_SERIAL_BUS_RESOURCE_SPI_DESCRIPTOR
Serial Bus Resource Descriptor (SPI)
EINJ Trigger Action Table.
Definition: Acpi50.h:1810
Memory Power State Table definition.
Definition: Acpi50.h:903
Generic Error Data Entry Definition.
Definition: Acpi50.h:1395
EFI_ACPI_5_0_PCCT_GENERIC_SHARED_MEMORY_REGION_COMMAND Command
Definition: Acpi50.h:1887
unsigned long long UINT64
Definition: ProcessorBind.h:96
UINT16 TypeDataLength
Definition: Acpi50.h:94
IA-32 Architecture NMI Error Structure Definition.
Definition: Acpi50.h:1536
Processor Local x2APIC Structure Definition.
Definition: Acpi50.h:600
IO SAPIC Structure.
Definition: Acpi50.h:552
PACKED struct @553 EFI_ACPI_SERIAL_BUS_RESOURCE_I2C_DESCRIPTOR
Serial Bus Resource Descriptor (I2C)
EFI_ACPI_5_0_FPDT_PERFORMANCE_RECORD_HEADER Header
Definition: Acpi50.h:1269
UINT32 ResumeCount
A count of the number of S3 resume cycles since the last full boot sequence.
Definition: Acpi50.h:1273
Local SAPIC Structure This struct followed by a null-terminated ASCII string - ACPI Processor UID Str...
Definition: Acpi50.h:565
UINT64 OsLoaderStartImageStart
Timer value logged just prior to launching the previously loaded OS boot loader image.
Definition: Acpi50.h:1220
UINT16 DeviceSelection
Definition: Acpi50.h:134
Local APIC Address Override Structure.
Definition: Acpi50.h:542
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi50.h:904
UINT8 Status
1-byte status field indicating current status about the table.
Definition: Acpi50.h:1078
UINT64 ImageAddress
8-byte (64 bit) physical address pointing to the firmware's in-memory copy of the image bitmap.
Definition: Acpi50.h:1089
Firmware Performance Record Table definition.
Definition: Acpi50.h:1308
PACKED struct @551 EFI_ACPI_GPIO_CONNECTION_DESCRIPTOR
GPIO Connection Descriptor.
Smart Battery Description Table (SBST)
Definition: Acpi50.h:659
FILE_LICENCE(BSD2_PATENT)
System Resource Affinity Table (SRAT).
Definition: Acpi50.h:693
PCI Express Device AER Structure Definition.
Definition: Acpi50.h:1571
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi50.h:845
FPDT Firmware Basic Boot Performance Record Structure.
Definition: Acpi50.h:1202
Generic Error Status Definition.
Definition: Acpi50.h:1635
DIMM Memory Aggregator Device Structure.
Definition: Acpi50.h:1056
PCC Subspace Structure Header.
Definition: Acpi50.h:1844
IO APIC Structure.
Definition: Acpi50.h:473
PACKED struct @550 EFI_ACPI_FIXED_DMA_DESCRIPTOR
Generic DMA Descriptor.
UINT32 ErrorSeverity
Definition: Acpi50.h:1397
EFI_ACPI_5_0_HARDWARE_ERROR_NOTIFICATION_STRUCTURE NotificationStructure
Definition: Acpi50.h:1628
Processor Local APIC/SAPIC Affinity Structure Definition.
Definition: Acpi50.h:716
UINT64 Value
Definition: Acpi50.h:1803
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE EcControl
Definition: Acpi50.h:678
UINT16 TypeSpecificFlags
Definition: Acpi50.h:92
EFI_ACPI_5_0_PCCT_GENERIC_SHARED_MEMORY_REGION_STATUS Status
Definition: Acpi50.h:1888
UINT16 PinTableOffset
Definition: Acpi50.h:73
Platform Interrupt Sources Structure Definition.
Definition: Acpi50.h:497
UINT32 ImageOffsetX
A 4-byte (32-bit) unsigned long describing the display X-offset of the boot image.
Definition: Acpi50.h:1095
FPDT Firmware Basic Boot Performance Pointer Record Structure.
Definition: Acpi50.h:1178
EFI_ACPI_5_0_ERROR_BLOCK_STATUS BlockStatus
Definition: Acpi50.h:1376
Socket Memory Aggregator Device Structure.
Definition: Acpi50.h:1029
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE XGpe0Blk
Definition: Acpi50.h:303
UINT8 RevisionId
Definition: Acpi50.h:66
UINT16 VendorDataOffset
Definition: Acpi50.h:76
UINT8 Parity
Definition: Acpi50.h:152
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi50.h:1415
UINT8 ConnectionType
Definition: Acpi50.h:67
UINT8 Instruction
Definition: Acpi50.h:1799
ACPI RASF Platform Communication Channel Shared Memory Region definition.
Definition: Acpi50.h:857
UINT32 DefaultBaudRate
Definition: Acpi50.h:149
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE ResetReg
Definition: Acpi50.h:292
UINT8 TypeSpecificRevisionId
Definition: Acpi50.h:93
PACKED struct @532 ACPI_LARGE_RESOURCE_HEADER
EFI_ACPI_5_0_PMMT_COMMON_MEMORY_AGGREGATOR_DEVICE_STRUCTURE Header
Definition: Acpi50.h:1040
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi50.h:1350
UINT16 InterruptFlags
Definition: Acpi50.h:69
Hardware Error Notification Configuration Write Enable Structure Definition.
Definition: Acpi50.h:1492
UINT16 OutputDriveStrength
Definition: Acpi50.h:71
ACPI RAS Feature Table definition.
Definition: Acpi50.h:844
UINT16 TxFIFO
Definition: Acpi50.h:151
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE XGpe1Blk
Definition: Acpi50.h:304
FPDT Basic S3 Suspend Performance Record.
Definition: Acpi50.h:1290
Corrected Platform Error Polling Processor Structure Definition.
Definition: Acpi50.h:805
UINT16 GeneralFlags
Definition: Acpi50.h:68
MPST Memory Power Node Table.
Definition: Acpi50.h:947
Boot Error Record Table (BERT)
Definition: Acpi50.h:1349
UINT8 Flags
Definition: Acpi50.h:1800
ACPI 5.0 Generic Address Space definition.
Definition: Acpi50.h:166
FPDT Basic S3 Resume Performance Record.
Definition: Acpi50.h:1268
UINT16 DmaRequestLine
Definition: Acpi50.h:56
UINT64 Mask
Definition: Acpi50.h:1804
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi50.h:1316
Maximum System Characteristics Table (MSCT)
Definition: Acpi50.h:816
UINT64 Value
Definition: Acpi50.h:1724
EFI_ACPI_5_0_HARDWARE_ERROR_NOTIFICATION_CONFIGURATION_WRITE_ENABLE_STRUCTURE ConfigurationWriteEnable
Definition: Acpi50.h:1508
PACKED struct @555 EFI_ACPI_SERIAL_BUS_RESOURCE_UART_DESCRIPTOR
Serial Bus Resource Descriptor (UART)
EFI_ACPI_5_0_PMMT_COMMON_MEMORY_AGGREGATOR_DEVICE_STRUCTURE Header
Definition: Acpi50.h:1057
ACPI_SMALL_RESOURCE_HEADER Header
Definition: Acpi50.h:55