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  SPDX-License-Identifier: BSD-2-Clause-Patent
8 **/
9 
10 #ifndef _ACPI_5_0_H_
11 #define _ACPI_5_0_H_
12 
13 FILE_LICENCE ( BSD2_PATENT );
14 
16 
17 //
18 // Define for Descriptor
19 //
20 #define ACPI_SMALL_FIXED_DMA_DESCRIPTOR_NAME 0x0A
21 #define ACPI_LARGE_GPIO_CONNECTION_DESCRIPTOR_NAME 0x0C
22 #define ACPI_LARGE_GENERIC_SERIAL_BUS_CONNECTION_DESCRIPTOR_NAME 0x0E
23 
24 #define ACPI_FIXED_DMA_DESCRIPTOR 0x55
25 #define ACPI_GPIO_CONNECTION_DESCRIPTOR 0x8C
26 #define ACPI_GENERIC_SERIAL_BUS_CONNECTION_DESCRIPTOR 0x8E
27 
28 ///
29 /// _PSD Revision for ACPI 5.0
30 ///
31 #define EFI_ACPI_5_0_AML_PSD_REVISION 0
32 
33 ///
34 /// _CPC Revision for ACPI 5.0
35 ///
36 #define EFI_ACPI_5_0_AML_CPC_REVISION 1
37 
38 #pragma pack(1)
39 
40 ///
41 /// Generic DMA Descriptor.
42 ///
43 typedef PACKED struct {
49 
50 ///
51 /// GPIO Connection Descriptor
52 ///
53 typedef PACKED struct {
68 
69 #define EFI_ACPI_GPIO_CONNECTION_TYPE_INTERRUPT 0x0
70 #define EFI_ACPI_GPIO_CONNECTION_TYPE_IO 0x1
71 
72 ///
73 /// Serial Bus Resource Descriptor (Generic)
74 ///
75 typedef PACKED struct {
84  // Type specific data
86 
87 #define EFI_ACPI_SERIAL_BUS_RESOURCE_TYPE_I2C 0x1
88 #define EFI_ACPI_SERIAL_BUS_RESOURCE_TYPE_SPI 0x2
89 #define EFI_ACPI_SERIAL_BUS_RESOURCE_TYPE_UART 0x3
90 
91 ///
92 /// Serial Bus Resource Descriptor (I2C)
93 ///
94 typedef PACKED struct {
106 
107 ///
108 /// Serial Bus Resource Descriptor (SPI)
109 ///
110 typedef PACKED struct {
125 
126 ///
127 /// Serial Bus Resource Descriptor (UART)
128 ///
129 typedef PACKED struct {
144 
145 #pragma pack()
146 
147 //
148 // Ensure proper structure formats
149 //
150 #pragma pack(1)
151 
152 ///
153 /// ACPI 5.0 Generic Address Space definition
154 ///
155 typedef struct {
162 
163 //
164 // Generic Address Space Address IDs
165 //
166 #define EFI_ACPI_5_0_SYSTEM_MEMORY 0
167 #define EFI_ACPI_5_0_SYSTEM_IO 1
168 #define EFI_ACPI_5_0_PCI_CONFIGURATION_SPACE 2
169 #define EFI_ACPI_5_0_EMBEDDED_CONTROLLER 3
170 #define EFI_ACPI_5_0_SMBUS 4
171 #define EFI_ACPI_5_0_PLATFORM_COMMUNICATION_CHANNEL 0x0A
172 #define EFI_ACPI_5_0_FUNCTIONAL_FIXED_HARDWARE 0x7F
173 
174 //
175 // Generic Address Space Access Sizes
176 //
177 #define EFI_ACPI_5_0_UNDEFINED 0
178 #define EFI_ACPI_5_0_BYTE 1
179 #define EFI_ACPI_5_0_WORD 2
180 #define EFI_ACPI_5_0_DWORD 3
181 #define EFI_ACPI_5_0_QWORD 4
182 
183 //
184 // ACPI 5.0 table structures
185 //
186 
187 ///
188 /// Root System Description Pointer Structure
189 ///
190 typedef struct {
193  UINT8 OemId[6];
201 
202 ///
203 /// RSD_PTR Revision (as defined in ACPI 5.0 spec.)
204 ///
205 #define EFI_ACPI_5_0_ROOT_SYSTEM_DESCRIPTION_POINTER_REVISION 0x02 ///< ACPISpec (Revision 5.0) says current value is 2
206 
207 ///
208 /// Common table header, this prefaces all ACPI tables, including FACS, but
209 /// excluding the RSD PTR structure
210 ///
211 typedef struct {
215 
216 //
217 // Root System Description Table
218 // No definition needed as it is a common description table header, the same with
219 // EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT32 table pointers.
220 //
221 
222 ///
223 /// RSDT Revision (as defined in ACPI 5.0 spec.)
224 ///
225 #define EFI_ACPI_5_0_ROOT_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01
226 
227 //
228 // Extended 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 UINT64 table pointers.
231 //
232 
233 ///
234 /// XSDT Revision (as defined in ACPI 5.0 spec.)
235 ///
236 #define EFI_ACPI_5_0_EXTENDED_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01
237 
238 ///
239 /// Fixed ACPI Description Table Structure (FADT)
240 ///
241 typedef struct {
283  UINT8 Reserved2[3];
297 
298 ///
299 /// FADT Version (as defined in ACPI 5.0 spec.)
300 ///
301 #define EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE_REVISION 0x05
302 
303 //
304 // Fixed ACPI Description Table Preferred Power Management Profile
305 //
306 #define EFI_ACPI_5_0_PM_PROFILE_UNSPECIFIED 0
307 #define EFI_ACPI_5_0_PM_PROFILE_DESKTOP 1
308 #define EFI_ACPI_5_0_PM_PROFILE_MOBILE 2
309 #define EFI_ACPI_5_0_PM_PROFILE_WORKSTATION 3
310 #define EFI_ACPI_5_0_PM_PROFILE_ENTERPRISE_SERVER 4
311 #define EFI_ACPI_5_0_PM_PROFILE_SOHO_SERVER 5
312 #define EFI_ACPI_5_0_PM_PROFILE_APPLIANCE_PC 6
313 #define EFI_ACPI_5_0_PM_PROFILE_PERFORMANCE_SERVER 7
314 #define EFI_ACPI_5_0_PM_PROFILE_TABLET 8
315 
316 //
317 // Fixed ACPI Description Table Boot Architecture Flags
318 // All other bits are reserved and must be set to 0.
319 //
320 #define EFI_ACPI_5_0_LEGACY_DEVICES BIT0
321 #define EFI_ACPI_5_0_8042 BIT1
322 #define EFI_ACPI_5_0_VGA_NOT_PRESENT BIT2
323 #define EFI_ACPI_5_0_MSI_NOT_SUPPORTED BIT3
324 #define EFI_ACPI_5_0_PCIE_ASPM_CONTROLS BIT4
325 #define EFI_ACPI_5_0_CMOS_RTC_NOT_PRESENT BIT5
326 
327 //
328 // Fixed ACPI Description Table Fixed Feature Flags
329 // All other bits are reserved and must be set to 0.
330 //
331 #define EFI_ACPI_5_0_WBINVD BIT0
332 #define EFI_ACPI_5_0_WBINVD_FLUSH BIT1
333 #define EFI_ACPI_5_0_PROC_C1 BIT2
334 #define EFI_ACPI_5_0_P_LVL2_UP BIT3
335 #define EFI_ACPI_5_0_PWR_BUTTON BIT4
336 #define EFI_ACPI_5_0_SLP_BUTTON BIT5
337 #define EFI_ACPI_5_0_FIX_RTC BIT6
338 #define EFI_ACPI_5_0_RTC_S4 BIT7
339 #define EFI_ACPI_5_0_TMR_VAL_EXT BIT8
340 #define EFI_ACPI_5_0_DCK_CAP BIT9
341 #define EFI_ACPI_5_0_RESET_REG_SUP BIT10
342 #define EFI_ACPI_5_0_SEALED_CASE BIT11
343 #define EFI_ACPI_5_0_HEADLESS BIT12
344 #define EFI_ACPI_5_0_CPU_SW_SLP BIT13
345 #define EFI_ACPI_5_0_PCI_EXP_WAK BIT14
346 #define EFI_ACPI_5_0_USE_PLATFORM_CLOCK BIT15
347 #define EFI_ACPI_5_0_S4_RTC_STS_VALID BIT16
348 #define EFI_ACPI_5_0_REMOTE_POWER_ON_CAPABLE BIT17
349 #define EFI_ACPI_5_0_FORCE_APIC_CLUSTER_MODEL BIT18
350 #define EFI_ACPI_5_0_FORCE_APIC_PHYSICAL_DESTINATION_MODE BIT19
351 #define EFI_ACPI_5_0_HW_REDUCED_ACPI BIT20
352 #define EFI_ACPI_5_0_LOW_POWER_S0_IDLE_CAPABLE BIT21
353 
354 ///
355 /// Firmware ACPI Control Structure
356 ///
357 typedef struct {
366  UINT8 Reserved0[3];
368  UINT8 Reserved1[24];
370 
371 ///
372 /// FACS Version (as defined in ACPI 5.0 spec.)
373 ///
374 #define EFI_ACPI_5_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_VERSION 0x02
375 
376 ///
377 /// Firmware Control Structure Feature Flags
378 /// All other bits are reserved and must be set to 0.
379 ///
380 #define EFI_ACPI_5_0_S4BIOS_F BIT0
381 #define EFI_ACPI_5_0_64BIT_WAKE_SUPPORTED_F BIT1
382 
383 ///
384 /// OSPM Enabled Firmware Control Structure Flags
385 /// All other bits are reserved and must be set to 0.
386 ///
387 #define EFI_ACPI_5_0_OSPM_64BIT_WAKE_F BIT0
388 
389 //
390 // Differentiated System Description Table,
391 // Secondary System Description Table
392 // and Persistent System Description Table,
393 // no definition needed as they are common description table header, the same with
394 // EFI_ACPI_DESCRIPTION_HEADER, followed by a definition block.
395 //
396 #define EFI_ACPI_5_0_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_REVISION 0x02
397 #define EFI_ACPI_5_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_REVISION 0x02
398 
399 ///
400 /// Multiple APIC Description Table header definition. The rest of the table
401 /// must be defined in a platform specific manner.
402 ///
403 typedef struct {
408 
409 ///
410 /// MADT Revision (as defined in ACPI 5.0 spec.)
411 ///
412 #define EFI_ACPI_5_0_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION 0x03
413 
414 ///
415 /// Multiple APIC Flags
416 /// All other bits are reserved and must be set to 0.
417 ///
418 #define EFI_ACPI_5_0_PCAT_COMPAT BIT0
419 
420 //
421 // Multiple APIC Description Table APIC structure types
422 // All other values between 0x0D and 0x7F are reserved and
423 // will be ignored by OSPM. 0x80 ~ 0xFF are reserved for OEM.
424 //
425 #define EFI_ACPI_5_0_PROCESSOR_LOCAL_APIC 0x00
426 #define EFI_ACPI_5_0_IO_APIC 0x01
427 #define EFI_ACPI_5_0_INTERRUPT_SOURCE_OVERRIDE 0x02
428 #define EFI_ACPI_5_0_NON_MASKABLE_INTERRUPT_SOURCE 0x03
429 #define EFI_ACPI_5_0_LOCAL_APIC_NMI 0x04
430 #define EFI_ACPI_5_0_LOCAL_APIC_ADDRESS_OVERRIDE 0x05
431 #define EFI_ACPI_5_0_IO_SAPIC 0x06
432 #define EFI_ACPI_5_0_LOCAL_SAPIC 0x07
433 #define EFI_ACPI_5_0_PLATFORM_INTERRUPT_SOURCES 0x08
434 #define EFI_ACPI_5_0_PROCESSOR_LOCAL_X2APIC 0x09
435 #define EFI_ACPI_5_0_LOCAL_X2APIC_NMI 0x0A
436 #define EFI_ACPI_5_0_GIC 0x0B
437 #define EFI_ACPI_5_0_GICD 0x0C
438 
439 //
440 // APIC Structure Definitions
441 //
442 
443 ///
444 /// Processor Local APIC Structure Definition
445 ///
446 typedef struct {
453 
454 ///
455 /// Local APIC Flags. All other bits are reserved and must be 0.
456 ///
457 #define EFI_ACPI_5_0_LOCAL_APIC_ENABLED BIT0
458 
459 ///
460 /// IO APIC Structure
461 ///
462 typedef struct {
470 
471 ///
472 /// Interrupt Source Override Structure
473 ///
474 typedef struct {
482 
483 ///
484 /// Platform Interrupt Sources Structure Definition
485 ///
486 typedef struct {
499 
500 //
501 // MPS INTI flags.
502 // All other bits are reserved and must be set to 0.
503 //
504 #define EFI_ACPI_5_0_POLARITY (3 << 0)
505 #define EFI_ACPI_5_0_TRIGGER_MODE (3 << 2)
506 
507 ///
508 /// Non-Maskable Interrupt Source Structure
509 ///
510 typedef struct {
516 
517 ///
518 /// Local APIC NMI Structure
519 ///
520 typedef struct {
527 
528 ///
529 /// Local APIC Address Override Structure
530 ///
531 typedef struct {
537 
538 ///
539 /// IO SAPIC Structure
540 ///
541 typedef struct {
549 
550 ///
551 /// Local SAPIC Structure
552 /// This struct followed by a null-terminated ASCII string - ACPI Processor UID String
553 ///
554 typedef struct {
564 
565 ///
566 /// Platform Interrupt Sources Structure
567 ///
568 typedef struct {
579 
580 ///
581 /// Platform Interrupt Source Flags.
582 /// All other bits are reserved and must be set to 0.
583 ///
584 #define EFI_ACPI_5_0_CPEI_PROCESSOR_OVERRIDE BIT0
585 
586 ///
587 /// Processor Local x2APIC Structure Definition
588 ///
589 typedef struct {
597 
598 ///
599 /// Local x2APIC NMI Structure
600 ///
601 typedef struct {
609 
610 ///
611 /// GIC Structure
612 ///
613 typedef struct {
625 
626 ///
627 /// GIC Flags. All other bits are reserved and must be 0.
628 ///
629 #define EFI_ACPI_5_0_GIC_ENABLED BIT0
630 #define EFI_ACPI_5_0_PERFORMANCE_INTERRUPT_MODEL BIT1
631 
632 ///
633 /// GIC Distributor Structure
634 ///
635 typedef struct {
644 
645 ///
646 /// Smart Battery Description Table (SBST)
647 ///
648 typedef struct {
654 
655 ///
656 /// SBST Version (as defined in ACPI 5.0 spec.)
657 ///
658 #define EFI_ACPI_5_0_SMART_BATTERY_DESCRIPTION_TABLE_REVISION 0x01
659 
660 ///
661 /// Embedded Controller Boot Resources Table (ECDT)
662 /// The table is followed by a null terminated ASCII string that contains
663 /// a fully qualified reference to the name space object.
664 ///
665 typedef struct {
672 
673 ///
674 /// ECDT Version (as defined in ACPI 5.0 spec.)
675 ///
676 #define EFI_ACPI_5_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_REVISION 0x01
677 
678 ///
679 /// System Resource Affinity Table (SRAT). The rest of the table
680 /// must be defined in a platform specific manner.
681 ///
682 typedef struct {
684  UINT32 Reserved1; ///< Must be set to 1
687 
688 ///
689 /// SRAT Version (as defined in ACPI 5.0 spec.)
690 ///
691 #define EFI_ACPI_5_0_SYSTEM_RESOURCE_AFFINITY_TABLE_REVISION 0x03
692 
693 //
694 // SRAT structure types.
695 // All other values between 0x03 an 0xFF are reserved and
696 // will be ignored by OSPM.
697 //
698 #define EFI_ACPI_5_0_PROCESSOR_LOCAL_APIC_SAPIC_AFFINITY 0x00
699 #define EFI_ACPI_5_0_MEMORY_AFFINITY 0x01
700 #define EFI_ACPI_5_0_PROCESSOR_LOCAL_X2APIC_AFFINITY 0x02
701 
702 ///
703 /// Processor Local APIC/SAPIC Affinity Structure Definition
704 ///
705 typedef struct {
712  UINT8 ProximityDomain31To8[3];
715 
716 ///
717 /// Local APIC/SAPIC Flags. All other bits are reserved and must be 0.
718 ///
719 #define EFI_ACPI_5_0_PROCESSOR_LOCAL_APIC_SAPIC_ENABLED (1 << 0)
720 
721 ///
722 /// Memory Affinity Structure Definition
723 ///
724 typedef struct {
737 
738 //
739 // Memory Flags. All other bits are reserved and must be 0.
740 //
741 #define EFI_ACPI_5_0_MEMORY_ENABLED (1 << 0)
742 #define EFI_ACPI_5_0_MEMORY_HOT_PLUGGABLE (1 << 1)
743 #define EFI_ACPI_5_0_MEMORY_NONVOLATILE (1 << 2)
744 
745 ///
746 /// Processor Local x2APIC Affinity Structure Definition
747 ///
748 typedef struct {
751  UINT8 Reserved1[2];
756  UINT8 Reserved2[4];
758 
759 ///
760 /// System Locality Distance Information Table (SLIT).
761 /// The rest of the table is a matrix.
762 ///
763 typedef struct {
767 
768 ///
769 /// SLIT Version (as defined in ACPI 5.0 spec.)
770 ///
771 #define EFI_ACPI_5_0_SYSTEM_LOCALITY_DISTANCE_INFORMATION_TABLE_REVISION 0x01
772 
773 ///
774 /// Corrected Platform Error Polling Table (CPEP)
775 ///
776 typedef struct {
780 
781 ///
782 /// CPEP Version (as defined in ACPI 5.0 spec.)
783 ///
784 #define EFI_ACPI_5_0_CORRECTED_PLATFORM_ERROR_POLLING_TABLE_REVISION 0x01
785 
786 //
787 // CPEP processor structure types.
788 //
789 #define EFI_ACPI_5_0_CPEP_PROCESSOR_APIC_SAPIC 0x00
790 
791 ///
792 /// Corrected Platform Error Polling Processor Structure Definition
793 ///
794 typedef struct {
801 
802 ///
803 /// Maximum System Characteristics Table (MSCT)
804 ///
805 typedef struct {
812 
813 ///
814 /// MSCT Version (as defined in ACPI 5.0 spec.)
815 ///
816 #define EFI_ACPI_5_0_MAXIMUM_SYSTEM_CHARACTERISTICS_TABLE_REVISION 0x01
817 
818 ///
819 /// Maximum Proximity Domain Information Structure Definition
820 ///
821 typedef struct {
829 
830 ///
831 /// ACPI RAS Feature Table definition.
832 ///
833 typedef struct {
835  UINT8 PlatformCommunicationChannelIdentifier[12];
837 
838 ///
839 /// RASF Version (as defined in ACPI 5.0 spec.)
840 ///
841 #define EFI_ACPI_5_0_RAS_FEATURE_TABLE_REVISION 0x01
842 
843 ///
844 /// ACPI RASF Platform Communication Channel Shared Memory Region definition.
845 ///
846 typedef struct {
851  UINT8 RASCapabilities[16];
852  UINT8 SetRASCapabilities[16];
856 
857 ///
858 /// ACPI RASF PCC command code
859 ///
860 #define EFI_ACPI_5_0_RASF_PCC_COMMAND_CODE_EXECUTE_RASF_COMMAND 0x01
861 
862 ///
863 /// ACPI RASF Platform RAS Capabilities
864 ///
865 #define EFI_ACPI_5_0_RASF_PLATFORM_RAS_CAPABILITY_HARDWARE_BASED_PATROL_SCRUB_SUPPOTED 0x01
866 #define EFI_ACPI_5_0_RASF_PLATFORM_RAS_CAPABILITY_HARDWARE_BASED_PATROL_SCRUB_SUPPOTED_AND_EXPOSED_TO_SOFTWARE 0x02
867 
868 ///
869 /// ACPI RASF Parameter Block structure for PATROL_SCRUB
870 ///
871 typedef struct {
876  UINT64 RequestedAddressRange[2];
877  UINT64 ActualAddressRange[2];
881 
882 ///
883 /// ACPI RASF Patrol Scrub command
884 ///
885 #define EFI_ACPI_5_0_RASF_PATROL_SCRUB_COMMAND_GET_PATROL_PARAMETERS 0x01
886 #define EFI_ACPI_5_0_RASF_PATROL_SCRUB_COMMAND_START_PATROL_SCRUBBER 0x02
887 #define EFI_ACPI_5_0_RASF_PATROL_SCRUB_COMMAND_STOP_PATROL_SCRUBBER 0x03
888 
889 ///
890 /// Memory Power State Table definition.
891 ///
892 typedef struct {
896  // Memory Power Node Structure
897  // Memory Power State Characteristics
899 
900 ///
901 /// MPST Version (as defined in ACPI 5.0 spec.)
902 ///
903 #define EFI_ACPI_5_0_MEMORY_POWER_STATE_TABLE_REVISION 0x01
904 
905 ///
906 /// MPST Platform Communication Channel Shared Memory Region definition.
907 ///
908 typedef struct {
919 
920 ///
921 /// ACPI MPST PCC command code
922 ///
923 #define EFI_ACPI_5_0_MPST_PCC_COMMAND_CODE_EXECUTE_MPST_COMMAND 0x03
924 
925 ///
926 /// ACPI MPST Memory Power command
927 ///
928 #define EFI_ACPI_5_0_MPST_MEMORY_POWER_COMMAND_GET_MEMORY_POWER_STATE 0x01
929 #define EFI_ACPI_5_0_MPST_MEMORY_POWER_COMMAND_SET_MEMORY_POWER_STATE 0x02
930 #define EFI_ACPI_5_0_MPST_MEMORY_POWER_COMMAND_GET_AVERAGE_POWER_CONSUMED 0x03
931 #define EFI_ACPI_5_0_MPST_MEMORY_POWER_COMMAND_GET_MEMORY_ENERGY_CONSUMED 0x04
932 
933 ///
934 /// MPST Memory Power Node Table
935 ///
936 typedef struct {
940 
941 typedef struct {
950  // EFI_ACPI_5_0_MPST_MEMORY_POWER_STATE MemoryPowerState[NumberOfPowerStates];
951  // UINT16 PhysicalComponentIdentifier[NumberOfPhysicalComponents];
953 
954 #define EFI_ACPI_5_0_MPST_MEMORY_POWER_STRUCTURE_FLAG_ENABLE 0x01
955 #define EFI_ACPI_5_0_MPST_MEMORY_POWER_STRUCTURE_FLAG_POWER_MANAGED 0x02
956 #define EFI_ACPI_5_0_MPST_MEMORY_POWER_STRUCTURE_FLAG_HOT_PLUGGABLE 0x04
957 
958 typedef struct {
962 
963 ///
964 /// MPST Memory Power State Characteristics Table
965 ///
966 typedef struct {
974 
975 #define EFI_ACPI_5_0_MPST_MEMORY_POWER_STATE_CHARACTERISTICS_STRUCTURE_FLAG_MEMORY_CONTENT_PRESERVED 0x01
976 #define EFI_ACPI_5_0_MPST_MEMORY_POWER_STATE_CHARACTERISTICS_STRUCTURE_FLAG_AUTONOMOUS_MEMORY_POWER_STATE_ENTRY 0x02
977 #define EFI_ACPI_5_0_MPST_MEMORY_POWER_STATE_CHARACTERISTICS_STRUCTURE_FLAG_AUTONOMOUS_MEMORY_POWER_STATE_EXIT 0x04
978 
979 typedef struct {
983 
984 ///
985 /// Memory Topology Table definition.
986 ///
987 typedef struct {
991 
992 ///
993 /// PMTT Version (as defined in ACPI 5.0 spec.)
994 ///
995 #define EFI_ACPI_5_0_MEMORY_TOPOLOGY_TABLE_REVISION 0x01
996 
997 ///
998 /// Common Memory Aggregator Device Structure.
999 ///
1000 typedef struct {
1007 
1008 ///
1009 /// Memory Aggregator Device Type
1010 ///
1011 #define EFI_ACPI_5_0_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_SOCKET 0x0
1012 #define EFI_ACPI_5_0_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_MEMORY_CONTROLLER 0x1
1013 #define EFI_ACPI_5_0_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_DIMM 0x2
1014 
1015 ///
1016 /// Socket Memory Aggregator Device Structure.
1017 ///
1018 typedef struct {
1022  // EFI_ACPI_5_0_PMMT_MEMORY_CONTROLLER_MEMORY_AGGREGATOR_DEVICE_STRUCTURE MemoryController[];
1024 
1025 ///
1026 /// MemoryController Memory Aggregator Device Structure.
1027 ///
1028 typedef struct {
1038  // UINT32 ProximityDomain[NumberOfProximityDomains];
1039  // EFI_ACPI_5_0_PMMT_DIMM_MEMORY_AGGREGATOR_DEVICE_STRUCTURE PhysicalComponent[];
1041 
1042 ///
1043 /// DIMM Memory Aggregator Device Structure.
1044 ///
1045 typedef struct {
1052 
1053 ///
1054 /// Boot Graphics Resource Table definition.
1055 ///
1056 typedef struct {
1058  ///
1059  /// 2-bytes (16 bit) version ID. This value must be 1.
1060  ///
1062  ///
1063  /// 1-byte status field indicating current status about the table.
1064  /// Bits[7:1] = Reserved (must be zero)
1065  /// Bit [0] = Valid. A one indicates the boot image graphic is valid.
1066  ///
1068  ///
1069  /// 1-byte enumerated type field indicating format of the image.
1070  /// 0 = Bitmap
1071  /// 1 - 255 Reserved (for future use)
1072  ///
1074  ///
1075  /// 8-byte (64 bit) physical address pointing to the firmware's in-memory copy
1076  /// of the image bitmap.
1077  ///
1079  ///
1080  /// A 4-byte (32-bit) unsigned long describing the display X-offset of the boot image.
1081  /// (X, Y) display offset of the top left corner of the boot image.
1082  /// The top left corner of the display is at offset (0, 0).
1083  ///
1085  ///
1086  /// A 4-byte (32-bit) unsigned long describing the display Y-offset of the boot image.
1087  /// (X, Y) display offset of the top left corner of the boot image.
1088  /// The top left corner of the display is at offset (0, 0).
1089  ///
1092 
1093 ///
1094 /// BGRT Revision
1095 ///
1096 #define EFI_ACPI_5_0_BOOT_GRAPHICS_RESOURCE_TABLE_REVISION 1
1097 
1098 ///
1099 /// BGRT Version
1100 ///
1101 #define EFI_ACPI_5_0_BGRT_VERSION 0x01
1102 
1103 ///
1104 /// BGRT Status
1105 ///
1106 #define EFI_ACPI_5_0_BGRT_STATUS_NOT_DISPLAYED 0x00
1107 #define EFI_ACPI_5_0_BGRT_STATUS_DISPLAYED 0x01
1108 #define EFI_ACPI_5_0_BGRT_STATUS_INVALID EFI_ACPI_5_0_BGRT_STATUS_NOT_DISPLAYED
1109 #define EFI_ACPI_5_0_BGRT_STATUS_VALID EFI_ACPI_5_0_BGRT_STATUS_DISPLAYED
1110 
1111 ///
1112 /// BGRT Image Type
1113 ///
1114 #define EFI_ACPI_5_0_BGRT_IMAGE_TYPE_BMP 0x00
1115 
1116 ///
1117 /// FPDT Version (as defined in ACPI 5.0 spec.)
1118 ///
1119 #define EFI_ACPI_5_0_FIRMWARE_PERFORMANCE_DATA_TABLE_REVISION 0x01
1120 
1121 ///
1122 /// FPDT Performance Record Types
1123 ///
1124 #define EFI_ACPI_5_0_FPDT_RECORD_TYPE_FIRMWARE_BASIC_BOOT_POINTER 0x0000
1125 #define EFI_ACPI_5_0_FPDT_RECORD_TYPE_S3_PERFORMANCE_TABLE_POINTER 0x0001
1126 
1127 ///
1128 /// FPDT Performance Record Revision
1129 ///
1130 #define EFI_ACPI_5_0_FPDT_RECORD_REVISION_FIRMWARE_BASIC_BOOT_POINTER 0x01
1131 #define EFI_ACPI_5_0_FPDT_RECORD_REVISION_S3_PERFORMANCE_TABLE_POINTER 0x01
1132 
1133 ///
1134 /// FPDT Runtime Performance Record Types
1135 ///
1136 #define EFI_ACPI_5_0_FPDT_RUNTIME_RECORD_TYPE_S3_RESUME 0x0000
1137 #define EFI_ACPI_5_0_FPDT_RUNTIME_RECORD_TYPE_S3_SUSPEND 0x0001
1138 #define EFI_ACPI_5_0_FPDT_RUNTIME_RECORD_TYPE_FIRMWARE_BASIC_BOOT 0x0002
1139 
1140 ///
1141 /// FPDT Runtime Performance Record Revision
1142 ///
1143 #define EFI_ACPI_5_0_FPDT_RUNTIME_RECORD_REVISION_S3_RESUME 0x01
1144 #define EFI_ACPI_5_0_FPDT_RUNTIME_RECORD_REVISION_S3_SUSPEND 0x01
1145 #define EFI_ACPI_5_0_FPDT_RUNTIME_RECORD_REVISION_FIRMWARE_BASIC_BOOT 0x02
1146 
1147 ///
1148 /// FPDT Performance Record header
1149 ///
1150 typedef struct {
1155 
1156 ///
1157 /// FPDT Performance Table header
1158 ///
1159 typedef struct {
1163 
1164 ///
1165 /// FPDT Firmware Basic Boot Performance Pointer Record Structure
1166 ///
1167 typedef struct {
1170  ///
1171  /// 64-bit processor-relative physical address of the Basic Boot Performance Table.
1172  ///
1175 
1176 ///
1177 /// FPDT S3 Performance Table Pointer Record Structure
1178 ///
1179 typedef struct {
1182  ///
1183  /// 64-bit processor-relative physical address of the S3 Performance Table.
1184  ///
1187 
1188 ///
1189 /// FPDT Firmware Basic Boot Performance Record Structure
1190 ///
1191 typedef struct {
1194  ///
1195  /// Timer value logged at the beginning of firmware image execution.
1196  /// This may not always be zero or near zero.
1197  ///
1199  ///
1200  /// Timer value logged just prior to loading the OS boot loader into memory.
1201  /// For non-UEFI compatible boots, this field must be zero.
1202  ///
1204  ///
1205  /// Timer value logged just prior to launching the previously loaded OS boot loader image.
1206  /// For non-UEFI compatible boots, the timer value logged will be just prior
1207  /// to the INT 19h handler invocation.
1208  ///
1210  ///
1211  /// Timer value logged at the point when the OS loader calls the
1212  /// ExitBootServices function for UEFI compatible firmware.
1213  /// For non-UEFI compatible boots, this field must be zero.
1214  ///
1216  ///
1217  /// Timer value logged at the point just prior to when the OS loader gaining
1218  /// control back from calls the ExitBootServices function for UEFI compatible firmware.
1219  /// For non-UEFI compatible boots, this field must be zero.
1220  ///
1223 
1224 ///
1225 /// FPDT Firmware Basic Boot Performance Table signature
1226 ///
1227 #define EFI_ACPI_5_0_FPDT_BOOT_PERFORMANCE_TABLE_SIGNATURE SIGNATURE_32('F', 'B', 'P', 'T')
1228 
1229 //
1230 // FPDT Firmware Basic Boot Performance Table
1231 //
1232 typedef struct {
1234  //
1235  // one or more Performance Records.
1236  //
1238 
1239 ///
1240 /// FPDT "S3PT" S3 Performance Table
1241 ///
1242 #define EFI_ACPI_5_0_FPDT_S3_PERFORMANCE_TABLE_SIGNATURE SIGNATURE_32('S', '3', 'P', 'T')
1243 
1244 //
1245 // FPDT Firmware S3 Boot Performance Table
1246 //
1247 typedef struct {
1249  //
1250  // one or more Performance Records.
1251  //
1253 
1254 ///
1255 /// FPDT Basic S3 Resume Performance Record
1256 ///
1257 typedef struct {
1259  ///
1260  /// A count of the number of S3 resume cycles since the last full boot sequence.
1261  ///
1263  ///
1264  /// Timer recorded at the end of BIOS S3 resume, just prior to handoff to the
1265  /// OS waking vector. Only the most recent resume cycle's time is retained.
1266  ///
1268  ///
1269  /// Average timer value of all resume cycles logged since the last full boot
1270  /// sequence, including the most recent resume. Note that the entire log of
1271  /// timer values does not need to be retained in order to calculate this average.
1272  ///
1275 
1276 ///
1277 /// FPDT Basic S3 Suspend Performance Record
1278 ///
1279 typedef struct {
1281  ///
1282  /// Timer value recorded at the OS write to SLP_TYP upon entry to S3.
1283  /// Only the most recent suspend cycle's timer value is retained.
1284  ///
1286  ///
1287  /// Timer value recorded at the final firmware write to SLP_TYP (or other
1288  /// mechanism) used to trigger hardware entry to S3.
1289  /// Only the most recent suspend cycle's timer value is retained.
1290  ///
1293 
1294 ///
1295 /// Firmware Performance Record Table definition.
1296 ///
1297 typedef struct {
1300 
1301 ///
1302 /// Generic Timer Description Table definition.
1303 ///
1304 typedef struct {
1317 
1318 ///
1319 /// GTDT Version (as defined in ACPI 5.0 spec.)
1320 ///
1321 #define EFI_ACPI_5_0_GENERIC_TIMER_DESCRIPTION_TABLE_REVISION 0x01
1322 
1323 ///
1324 /// Global Flags. All other bits are reserved and must be 0.
1325 ///
1326 #define EFI_ACPI_5_0_GTDT_GLOBAL_FLAG_MEMORY_MAPPED_BLOCK_PRESENT BIT0
1327 #define EFI_ACPI_5_0_GTDT_GLOBAL_FLAG_INTERRUPT_MODE BIT1
1328 
1329 ///
1330 /// Timer Flags. All other bits are reserved and must be 0.
1331 ///
1332 #define EFI_ACPI_5_0_GTDT_TIMER_FLAG_TIMER_INTERRUPT_MODE BIT0
1333 #define EFI_ACPI_5_0_GTDT_TIMER_FLAG_TIMER_INTERRUPT_POLARITY BIT1
1334 
1335 ///
1336 /// Boot Error Record Table (BERT)
1337 ///
1338 typedef struct {
1343 
1344 ///
1345 /// BERT Version (as defined in ACPI 5.0 spec.)
1346 ///
1347 #define EFI_ACPI_5_0_BOOT_ERROR_RECORD_TABLE_REVISION 0x01
1348 
1349 ///
1350 /// Boot Error Region Block Status Definition
1351 ///
1352 typedef struct {
1360 
1361 ///
1362 /// Boot Error Region Definition
1363 ///
1364 typedef struct {
1371 
1372 //
1373 // Boot Error Severity types
1374 //
1375 #define EFI_ACPI_5_0_ERROR_SEVERITY_CORRECTABLE 0x00
1376 #define EFI_ACPI_5_0_ERROR_SEVERITY_RECOVERABLE 0x00
1377 #define EFI_ACPI_5_0_ERROR_SEVERITY_FATAL 0x01
1378 #define EFI_ACPI_5_0_ERROR_SEVERITY_CORRECTED 0x02
1379 #define EFI_ACPI_5_0_ERROR_SEVERITY_NONE 0x03
1380 
1381 ///
1382 /// Generic Error Data Entry Definition
1383 ///
1384 typedef struct {
1385  UINT8 SectionType[16];
1391  UINT8 FruId[16];
1392  UINT8 FruText[20];
1394 
1395 ///
1396 /// Generic Error Data Entry Version (as defined in ACPI 5.0 spec.)
1397 ///
1398 #define EFI_ACPI_5_0_GENERIC_ERROR_DATA_ENTRY_REVISION 0x0201
1399 
1400 ///
1401 /// HEST - Hardware Error Source Table
1402 ///
1403 typedef struct {
1407 
1408 ///
1409 /// HEST Version (as defined in ACPI 5.0 spec.)
1410 ///
1411 #define EFI_ACPI_5_0_HARDWARE_ERROR_SOURCE_TABLE_REVISION 0x01
1412 
1413 //
1414 // Error Source structure types.
1415 //
1416 #define EFI_ACPI_5_0_IA32_ARCHITECTURE_MACHINE_CHECK_EXCEPTION 0x00
1417 #define EFI_ACPI_5_0_IA32_ARCHITECTURE_CORRECTED_MACHINE_CHECK 0x01
1418 #define EFI_ACPI_5_0_IA32_ARCHITECTURE_NMI_ERROR 0x02
1419 #define EFI_ACPI_5_0_PCI_EXPRESS_ROOT_PORT_AER 0x06
1420 #define EFI_ACPI_5_0_PCI_EXPRESS_DEVICE_AER 0x07
1421 #define EFI_ACPI_5_0_PCI_EXPRESS_BRIDGE_AER 0x08
1422 #define EFI_ACPI_5_0_GENERIC_HARDWARE_ERROR 0x09
1423 
1424 //
1425 // Error Source structure flags.
1426 //
1427 #define EFI_ACPI_5_0_ERROR_SOURCE_FLAG_FIRMWARE_FIRST (1 << 0)
1428 #define EFI_ACPI_5_0_ERROR_SOURCE_FLAG_GLOBAL (1 << 1)
1429 
1430 ///
1431 /// IA-32 Architecture Machine Check Exception Structure Definition
1432 ///
1433 typedef struct {
1436  UINT8 Reserved0[2];
1444  UINT8 Reserved1[7];
1446 
1447 ///
1448 /// IA-32 Architecture Machine Check Bank Structure Definition
1449 ///
1450 typedef struct {
1461 
1462 ///
1463 /// IA-32 Architecture Machine Check Bank Structure MCA data format
1464 ///
1465 #define EFI_ACPI_5_0_IA32_ARCHITECTURE_MACHINE_CHECK_ERROR_DATA_FORMAT_IA32 0x00
1466 #define EFI_ACPI_5_0_IA32_ARCHITECTURE_MACHINE_CHECK_ERROR_DATA_FORMAT_INTEL64 0x01
1467 #define EFI_ACPI_5_0_IA32_ARCHITECTURE_MACHINE_CHECK_ERROR_DATA_FORMAT_AMD64 0x02
1468 
1469 //
1470 // Hardware Error Notification types. All other values are reserved
1471 //
1472 #define EFI_ACPI_5_0_HARDWARE_ERROR_NOTIFICATION_POLLED 0x00
1473 #define EFI_ACPI_5_0_HARDWARE_ERROR_NOTIFICATION_EXTERNAL_INTERRUPT 0x01
1474 #define EFI_ACPI_5_0_HARDWARE_ERROR_NOTIFICATION_LOCAL_INTERRUPT 0x02
1475 #define EFI_ACPI_5_0_HARDWARE_ERROR_NOTIFICATION_SCI 0x03
1476 #define EFI_ACPI_5_0_HARDWARE_ERROR_NOTIFICATION_NMI 0x04
1477 
1478 ///
1479 /// Hardware Error Notification Configuration Write Enable Structure Definition
1480 ///
1481 typedef struct {
1490 
1491 ///
1492 /// Hardware Error Notification Structure Definition
1493 ///
1494 typedef struct {
1505 
1506 ///
1507 /// IA-32 Architecture Corrected Machine Check Structure Definition
1508 ///
1509 typedef struct {
1512  UINT8 Reserved0[2];
1519  UINT8 Reserved1[3];
1521 
1522 ///
1523 /// IA-32 Architecture NMI Error Structure Definition
1524 ///
1525 typedef struct {
1528  UINT8 Reserved0[2];
1533 
1534 ///
1535 /// PCI Express Root Port AER Structure Definition
1536 ///
1537 typedef struct {
1540  UINT8 Reserved0[2];
1549  UINT8 Reserved1[2];
1556 
1557 ///
1558 /// PCI Express Device AER Structure Definition
1559 ///
1560 typedef struct {
1563  UINT8 Reserved0[2];
1572  UINT8 Reserved1[2];
1578 
1579 ///
1580 /// PCI Express Bridge AER Structure Definition
1581 ///
1582 typedef struct {
1585  UINT8 Reserved0[2];
1594  UINT8 Reserved1[2];
1603 
1604 ///
1605 /// Generic Hardware Error Source Structure Definition
1606 ///
1607 typedef struct {
1620 
1621 ///
1622 /// Generic Error Status Definition
1623 ///
1624 typedef struct {
1631 
1632 ///
1633 /// ERST - Error Record Serialization Table
1634 ///
1635 typedef struct {
1638  UINT8 Reserved0[4];
1641 
1642 ///
1643 /// ERST Version (as defined in ACPI 5.0 spec.)
1644 ///
1645 #define EFI_ACPI_5_0_ERROR_RECORD_SERIALIZATION_TABLE_REVISION 0x01
1646 
1647 ///
1648 /// ERST Serialization Actions
1649 ///
1650 #define EFI_ACPI_5_0_ERST_BEGIN_WRITE_OPERATION 0x00
1651 #define EFI_ACPI_5_0_ERST_BEGIN_READ_OPERATION 0x01
1652 #define EFI_ACPI_5_0_ERST_BEGIN_CLEAR_OPERATION 0x02
1653 #define EFI_ACPI_5_0_ERST_END_OPERATION 0x03
1654 #define EFI_ACPI_5_0_ERST_SET_RECORD_OFFSET 0x04
1655 #define EFI_ACPI_5_0_ERST_EXECUTE_OPERATION 0x05
1656 #define EFI_ACPI_5_0_ERST_CHECK_BUSY_STATUS 0x06
1657 #define EFI_ACPI_5_0_ERST_GET_COMMAND_STATUS 0x07
1658 #define EFI_ACPI_5_0_ERST_GET_RECORD_IDENTIFIER 0x08
1659 #define EFI_ACPI_5_0_ERST_SET_RECORD_IDENTIFIER 0x09
1660 #define EFI_ACPI_5_0_ERST_GET_RECORD_COUNT 0x0A
1661 #define EFI_ACPI_5_0_ERST_BEGIN_DUMMY_WRITE_OPERATION 0x0B
1662 #define EFI_ACPI_5_0_ERST_GET_ERROR_LOG_ADDRESS_RANGE 0x0D
1663 #define EFI_ACPI_5_0_ERST_GET_ERROR_LOG_ADDRESS_RANGE_LENGTH 0x0E
1664 #define EFI_ACPI_5_0_ERST_GET_ERROR_LOG_ADDRESS_RANGE_ATTRIBUTES 0x0F
1665 
1666 ///
1667 /// ERST Action Command Status
1668 ///
1669 #define EFI_ACPI_5_0_ERST_STATUS_SUCCESS 0x00
1670 #define EFI_ACPI_5_0_ERST_STATUS_NOT_ENOUGH_SPACE 0x01
1671 #define EFI_ACPI_5_0_ERST_STATUS_HARDWARE_NOT_AVAILABLE 0x02
1672 #define EFI_ACPI_5_0_ERST_STATUS_FAILED 0x03
1673 #define EFI_ACPI_5_0_ERST_STATUS_RECORD_STORE_EMPTY 0x04
1674 #define EFI_ACPI_5_0_ERST_STATUS_RECORD_NOT_FOUND 0x05
1675 
1676 ///
1677 /// ERST Serialization Instructions
1678 ///
1679 #define EFI_ACPI_5_0_ERST_READ_REGISTER 0x00
1680 #define EFI_ACPI_5_0_ERST_READ_REGISTER_VALUE 0x01
1681 #define EFI_ACPI_5_0_ERST_WRITE_REGISTER 0x02
1682 #define EFI_ACPI_5_0_ERST_WRITE_REGISTER_VALUE 0x03
1683 #define EFI_ACPI_5_0_ERST_NOOP 0x04
1684 #define EFI_ACPI_5_0_ERST_LOAD_VAR1 0x05
1685 #define EFI_ACPI_5_0_ERST_LOAD_VAR2 0x06
1686 #define EFI_ACPI_5_0_ERST_STORE_VAR1 0x07
1687 #define EFI_ACPI_5_0_ERST_ADD 0x08
1688 #define EFI_ACPI_5_0_ERST_SUBTRACT 0x09
1689 #define EFI_ACPI_5_0_ERST_ADD_VALUE 0x0A
1690 #define EFI_ACPI_5_0_ERST_SUBTRACT_VALUE 0x0B
1691 #define EFI_ACPI_5_0_ERST_STALL 0x0C
1692 #define EFI_ACPI_5_0_ERST_STALL_WHILE_TRUE 0x0D
1693 #define EFI_ACPI_5_0_ERST_SKIP_NEXT_INSTRUCTION_IF_TRUE 0x0E
1694 #define EFI_ACPI_5_0_ERST_GOTO 0x0F
1695 #define EFI_ACPI_5_0_ERST_SET_SRC_ADDRESS_BASE 0x10
1696 #define EFI_ACPI_5_0_ERST_SET_DST_ADDRESS_BASE 0x11
1697 #define EFI_ACPI_5_0_ERST_MOVE_DATA 0x12
1698 
1699 ///
1700 /// ERST Instruction Flags
1701 ///
1702 #define EFI_ACPI_5_0_ERST_PRESERVE_REGISTER 0x01
1703 
1704 ///
1705 /// ERST Serialization Instruction Entry
1706 ///
1707 typedef struct {
1716 
1717 ///
1718 /// EINJ - Error Injection Table
1719 ///
1720 typedef struct {
1724  UINT8 Reserved0[3];
1727 
1728 ///
1729 /// EINJ Version (as defined in ACPI 5.0 spec.)
1730 ///
1731 #define EFI_ACPI_5_0_ERROR_INJECTION_TABLE_REVISION 0x01
1732 
1733 ///
1734 /// EINJ Error Injection Actions
1735 ///
1736 #define EFI_ACPI_5_0_EINJ_BEGIN_INJECTION_OPERATION 0x00
1737 #define EFI_ACPI_5_0_EINJ_GET_TRIGGER_ERROR_ACTION_TABLE 0x01
1738 #define EFI_ACPI_5_0_EINJ_SET_ERROR_TYPE 0x02
1739 #define EFI_ACPI_5_0_EINJ_GET_ERROR_TYPE 0x03
1740 #define EFI_ACPI_5_0_EINJ_END_OPERATION 0x04
1741 #define EFI_ACPI_5_0_EINJ_EXECUTE_OPERATION 0x05
1742 #define EFI_ACPI_5_0_EINJ_CHECK_BUSY_STATUS 0x06
1743 #define EFI_ACPI_5_0_EINJ_GET_COMMAND_STATUS 0x07
1744 #define EFI_ACPI_5_0_EINJ_TRIGGER_ERROR 0xFF
1745 
1746 ///
1747 /// EINJ Action Command Status
1748 ///
1749 #define EFI_ACPI_5_0_EINJ_STATUS_SUCCESS 0x00
1750 #define EFI_ACPI_5_0_EINJ_STATUS_UNKNOWN_FAILURE 0x01
1751 #define EFI_ACPI_5_0_EINJ_STATUS_INVALID_ACCESS 0x02
1752 
1753 ///
1754 /// EINJ Error Type Definition
1755 ///
1756 #define EFI_ACPI_5_0_EINJ_ERROR_PROCESSOR_CORRECTABLE (1 << 0)
1757 #define EFI_ACPI_5_0_EINJ_ERROR_PROCESSOR_UNCORRECTABLE_NONFATAL (1 << 1)
1758 #define EFI_ACPI_5_0_EINJ_ERROR_PROCESSOR_UNCORRECTABLE_FATAL (1 << 2)
1759 #define EFI_ACPI_5_0_EINJ_ERROR_MEMORY_CORRECTABLE (1 << 3)
1760 #define EFI_ACPI_5_0_EINJ_ERROR_MEMORY_UNCORRECTABLE_NONFATAL (1 << 4)
1761 #define EFI_ACPI_5_0_EINJ_ERROR_MEMORY_UNCORRECTABLE_FATAL (1 << 5)
1762 #define EFI_ACPI_5_0_EINJ_ERROR_PCI_EXPRESS_CORRECTABLE (1 << 6)
1763 #define EFI_ACPI_5_0_EINJ_ERROR_PCI_EXPRESS_UNCORRECTABLE_NONFATAL (1 << 7)
1764 #define EFI_ACPI_5_0_EINJ_ERROR_PCI_EXPRESS_UNCORRECTABLE_FATAL (1 << 8)
1765 #define EFI_ACPI_5_0_EINJ_ERROR_PLATFORM_CORRECTABLE (1 << 9)
1766 #define EFI_ACPI_5_0_EINJ_ERROR_PLATFORM_UNCORRECTABLE_NONFATAL (1 << 10)
1767 #define EFI_ACPI_5_0_EINJ_ERROR_PLATFORM_UNCORRECTABLE_FATAL (1 << 11)
1768 
1769 ///
1770 /// EINJ Injection Instructions
1771 ///
1772 #define EFI_ACPI_5_0_EINJ_READ_REGISTER 0x00
1773 #define EFI_ACPI_5_0_EINJ_READ_REGISTER_VALUE 0x01
1774 #define EFI_ACPI_5_0_EINJ_WRITE_REGISTER 0x02
1775 #define EFI_ACPI_5_0_EINJ_WRITE_REGISTER_VALUE 0x03
1776 #define EFI_ACPI_5_0_EINJ_NOOP 0x04
1777 
1778 ///
1779 /// EINJ Instruction Flags
1780 ///
1781 #define EFI_ACPI_5_0_EINJ_PRESERVE_REGISTER 0x01
1782 
1783 ///
1784 /// EINJ Injection Instruction Entry
1785 ///
1786 typedef struct {
1795 
1796 ///
1797 /// EINJ Trigger Action Table
1798 ///
1799 typedef struct {
1805 
1806 ///
1807 /// Platform Communications Channel Table (PCCT)
1808 ///
1809 typedef struct {
1814 
1815 ///
1816 /// PCCT Version (as defined in ACPI 5.0 spec.)
1817 ///
1818 #define EFI_ACPI_5_0_PLATFORM_COMMUNICATION_CHANNEL_TABLE_REVISION 0x01
1819 
1820 ///
1821 /// PCCT Global Flags
1822 ///
1823 #define EFI_ACPI_5_0_PCCT_FLAGS_SCI_DOORBELL BIT0
1824 
1825 //
1826 // PCCT Subspace type
1827 //
1828 #define EFI_ACPI_5_0_PCCT_SUBSPACE_TYPE_GENERIC 0x00
1829 
1830 ///
1831 /// PCC Subspace Structure Header
1832 ///
1833 typedef struct {
1837 
1838 ///
1839 /// Generic Communications Subspace Structure
1840 ///
1841 typedef struct {
1854 
1855 ///
1856 /// Generic Communications Channel Shared Memory Region
1857 ///
1858 
1859 typedef struct {
1864 
1865 typedef struct {
1873 
1874 typedef struct {
1879 
1880 //
1881 // Known table signatures
1882 //
1883 
1884 ///
1885 /// "RSD PTR " Root System Description Pointer
1886 ///
1887 #define EFI_ACPI_5_0_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE SIGNATURE_64('R', 'S', 'D', ' ', 'P', 'T', 'R', ' ')
1888 
1889 ///
1890 /// "APIC" Multiple APIC Description Table
1891 ///
1892 #define EFI_ACPI_5_0_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('A', 'P', 'I', 'C')
1893 
1894 ///
1895 /// "BERT" Boot Error Record Table
1896 ///
1897 #define EFI_ACPI_5_0_BOOT_ERROR_RECORD_TABLE_SIGNATURE SIGNATURE_32('B', 'E', 'R', 'T')
1898 
1899 ///
1900 /// "BGRT" Boot Graphics Resource Table
1901 ///
1902 #define EFI_ACPI_5_0_BOOT_GRAPHICS_RESOURCE_TABLE_SIGNATURE SIGNATURE_32('B', 'G', 'R', 'T')
1903 
1904 ///
1905 /// "CPEP" Corrected Platform Error Polling Table
1906 ///
1907 #define EFI_ACPI_5_0_CORRECTED_PLATFORM_ERROR_POLLING_TABLE_SIGNATURE SIGNATURE_32('C', 'P', 'E', 'P')
1908 
1909 ///
1910 /// "DSDT" Differentiated System Description Table
1911 ///
1912 #define EFI_ACPI_5_0_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('D', 'S', 'D', 'T')
1913 
1914 ///
1915 /// "ECDT" Embedded Controller Boot Resources Table
1916 ///
1917 #define EFI_ACPI_5_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_SIGNATURE SIGNATURE_32('E', 'C', 'D', 'T')
1918 
1919 ///
1920 /// "EINJ" Error Injection Table
1921 ///
1922 #define EFI_ACPI_5_0_ERROR_INJECTION_TABLE_SIGNATURE SIGNATURE_32('E', 'I', 'N', 'J')
1923 
1924 ///
1925 /// "ERST" Error Record Serialization Table
1926 ///
1927 #define EFI_ACPI_5_0_ERROR_RECORD_SERIALIZATION_TABLE_SIGNATURE SIGNATURE_32('E', 'R', 'S', 'T')
1928 
1929 ///
1930 /// "FACP" Fixed ACPI Description Table
1931 ///
1932 #define EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('F', 'A', 'C', 'P')
1933 
1934 ///
1935 /// "FACS" Firmware ACPI Control Structure
1936 ///
1937 #define EFI_ACPI_5_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE SIGNATURE_32('F', 'A', 'C', 'S')
1938 
1939 ///
1940 /// "FPDT" Firmware Performance Data Table
1941 ///
1942 #define EFI_ACPI_5_0_FIRMWARE_PERFORMANCE_DATA_TABLE_SIGNATURE SIGNATURE_32('F', 'P', 'D', 'T')
1943 
1944 ///
1945 /// "GTDT" Generic Timer Description Table
1946 ///
1947 #define EFI_ACPI_5_0_GENERIC_TIMER_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('G', 'T', 'D', 'T')
1948 
1949 ///
1950 /// "HEST" Hardware Error Source Table
1951 ///
1952 #define EFI_ACPI_5_0_HARDWARE_ERROR_SOURCE_TABLE_SIGNATURE SIGNATURE_32('H', 'E', 'S', 'T')
1953 
1954 ///
1955 /// "MPST" Memory Power State Table
1956 ///
1957 #define EFI_ACPI_5_0_MEMORY_POWER_STATE_TABLE_SIGNATURE SIGNATURE_32('M', 'P', 'S', 'T')
1958 
1959 ///
1960 /// "MSCT" Maximum System Characteristics Table
1961 ///
1962 #define EFI_ACPI_5_0_MAXIMUM_SYSTEM_CHARACTERISTICS_TABLE_SIGNATURE SIGNATURE_32('M', 'S', 'C', 'T')
1963 
1964 ///
1965 /// "PMTT" Platform Memory Topology Table
1966 ///
1967 #define EFI_ACPI_5_0_PLATFORM_MEMORY_TOPOLOGY_TABLE_SIGNATURE SIGNATURE_32('P', 'M', 'T', 'T')
1968 
1969 ///
1970 /// "PSDT" Persistent System Description Table
1971 ///
1972 #define EFI_ACPI_5_0_PERSISTENT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('P', 'S', 'D', 'T')
1973 
1974 ///
1975 /// "RASF" ACPI RAS Feature Table
1976 ///
1977 #define EFI_ACPI_5_0_ACPI_RAS_FEATURE_TABLE_SIGNATURE SIGNATURE_32('R', 'A', 'S', 'F')
1978 
1979 ///
1980 /// "RSDT" Root System Description Table
1981 ///
1982 #define EFI_ACPI_5_0_ROOT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('R', 'S', 'D', 'T')
1983 
1984 ///
1985 /// "SBST" Smart Battery Specification Table
1986 ///
1987 #define EFI_ACPI_5_0_SMART_BATTERY_SPECIFICATION_TABLE_SIGNATURE SIGNATURE_32('S', 'B', 'S', 'T')
1988 
1989 ///
1990 /// "SLIT" System Locality Information Table
1991 ///
1992 #define EFI_ACPI_5_0_SYSTEM_LOCALITY_INFORMATION_TABLE_SIGNATURE SIGNATURE_32('S', 'L', 'I', 'T')
1993 
1994 ///
1995 /// "SRAT" System Resource Affinity Table
1996 ///
1997 #define EFI_ACPI_5_0_SYSTEM_RESOURCE_AFFINITY_TABLE_SIGNATURE SIGNATURE_32('S', 'R', 'A', 'T')
1998 
1999 ///
2000 /// "SSDT" Secondary System Description Table
2001 ///
2002 #define EFI_ACPI_5_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('S', 'S', 'D', 'T')
2003 
2004 ///
2005 /// "XSDT" Extended System Description Table
2006 ///
2007 #define EFI_ACPI_5_0_EXTENDED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('X', 'S', 'D', 'T')
2008 
2009 ///
2010 /// "BOOT" MS Simple Boot Spec
2011 ///
2012 #define EFI_ACPI_5_0_SIMPLE_BOOT_FLAG_TABLE_SIGNATURE SIGNATURE_32('B', 'O', 'O', 'T')
2013 
2014 ///
2015 /// "CSRT" MS Core System Resource Table
2016 ///
2017 #define EFI_ACPI_5_0_CORE_SYSTEM_RESOURCE_TABLE_SIGNATURE SIGNATURE_32('C', 'S', 'R', 'T')
2018 
2019 ///
2020 /// "DBG2" MS Debug Port 2 Spec
2021 ///
2022 #define EFI_ACPI_5_0_DEBUG_PORT_2_TABLE_SIGNATURE SIGNATURE_32('D', 'B', 'G', '2')
2023 
2024 ///
2025 /// "DBGP" MS Debug Port Spec
2026 ///
2027 #define EFI_ACPI_5_0_DEBUG_PORT_TABLE_SIGNATURE SIGNATURE_32('D', 'B', 'G', 'P')
2028 
2029 ///
2030 /// "DMAR" DMA Remapping Table
2031 ///
2032 #define EFI_ACPI_5_0_DMA_REMAPPING_TABLE_SIGNATURE SIGNATURE_32('D', 'M', 'A', 'R')
2033 
2034 ///
2035 /// "DRTM" Dynamic Root of Trust for Measurement Table
2036 ///
2037 #define EFI_ACPI_5_0_DYNAMIC_ROOT_OF_TRUST_FOR_MEASUREMENT_TABLE_SIGNATURE SIGNATURE_32('D', 'R', 'T', 'M')
2038 
2039 ///
2040 /// "ETDT" Event Timer Description Table
2041 ///
2042 #define EFI_ACPI_5_0_EVENT_TIMER_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('E', 'T', 'D', 'T')
2043 
2044 ///
2045 /// "HPET" IA-PC High Precision Event Timer Table
2046 ///
2047 #define EFI_ACPI_5_0_HIGH_PRECISION_EVENT_TIMER_TABLE_SIGNATURE SIGNATURE_32('H', 'P', 'E', 'T')
2048 
2049 ///
2050 /// "iBFT" iSCSI Boot Firmware Table
2051 ///
2052 #define EFI_ACPI_5_0_ISCSI_BOOT_FIRMWARE_TABLE_SIGNATURE SIGNATURE_32('i', 'B', 'F', 'T')
2053 
2054 ///
2055 /// "IVRS" I/O Virtualization Reporting Structure
2056 ///
2057 #define EFI_ACPI_5_0_IO_VIRTUALIZATION_REPORTING_STRUCTURE_SIGNATURE SIGNATURE_32('I', 'V', 'R', 'S')
2058 
2059 ///
2060 /// "MCFG" PCI Express Memory Mapped Configuration Space Base Address Description Table
2061 ///
2062 #define EFI_ACPI_5_0_PCI_EXPRESS_MEMORY_MAPPED_CONFIGURATION_SPACE_BASE_ADDRESS_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('M', 'C', 'F', 'G')
2063 
2064 ///
2065 /// "MCHI" Management Controller Host Interface Table
2066 ///
2067 #define EFI_ACPI_5_0_MANAGEMENT_CONTROLLER_HOST_INTERFACE_TABLE_SIGNATURE SIGNATURE_32('M', 'C', 'H', 'I')
2068 
2069 ///
2070 /// "MSDM" MS Data Management Table
2071 ///
2072 #define EFI_ACPI_5_0_DATA_MANAGEMENT_TABLE_SIGNATURE SIGNATURE_32('M', 'S', 'D', 'M')
2073 
2074 ///
2075 /// "PCCT" Platform Communications Channel Table
2076 ///
2077 #define EFI_ACPI_5_0_PLATFORM_COMMUNICATIONS_CHANNEL_TABLE_SIGNATURE SIGNATURE_32('P', 'C', 'C', 'T')
2078 
2079 ///
2080 /// "SLIC" MS Software Licensing Table Specification
2081 ///
2082 #define EFI_ACPI_5_0_SOFTWARE_LICENSING_TABLE_SIGNATURE SIGNATURE_32('S', 'L', 'I', 'C')
2083 
2084 ///
2085 /// "SPCR" Serial Port Console Redirection Table
2086 ///
2087 #define EFI_ACPI_5_0_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'C', 'R')
2088 
2089 ///
2090 /// "SPMI" Server Platform Management Interface Table
2091 ///
2092 #define EFI_ACPI_5_0_SERVER_PLATFORM_MANAGEMENT_INTERFACE_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'M', 'I')
2093 
2094 ///
2095 /// "TCPA" Trusted Computing Platform Alliance Capabilities Table
2096 ///
2097 #define EFI_ACPI_5_0_TRUSTED_COMPUTING_PLATFORM_ALLIANCE_CAPABILITIES_TABLE_SIGNATURE SIGNATURE_32('T', 'C', 'P', 'A')
2098 
2099 ///
2100 /// "TPM2" Trusted Computing Platform 1 Table
2101 ///
2102 #define EFI_ACPI_5_0_TRUSTED_COMPUTING_PLATFORM_2_TABLE_SIGNATURE SIGNATURE_32('T', 'P', 'M', '2')
2103 
2104 ///
2105 /// "UEFI" UEFI ACPI Data Table
2106 ///
2107 #define EFI_ACPI_5_0_UEFI_ACPI_DATA_TABLE_SIGNATURE SIGNATURE_32('U', 'E', 'F', 'I')
2108 
2109 ///
2110 /// "WAET" Windows ACPI Emulated Devices Table
2111 ///
2112 #define EFI_ACPI_5_0_WINDOWS_ACPI_EMULATED_DEVICES_TABLE_SIGNATURE SIGNATURE_32('W', 'A', 'E', 'T')
2113 #define EFI_ACPI_5_0_WINDOWS_ACPI_ENLIGHTENMENT_TABLE_SIGNATURE EFI_ACPI_5_0_WINDOWS_ACPI_EMULATED_DEVICES_TABLE_SIGNATURE
2114 
2115 ///
2116 /// "WDAT" Watchdog Action Table
2117 ///
2118 #define EFI_ACPI_5_0_WATCHDOG_ACTION_TABLE_SIGNATURE SIGNATURE_32('W', 'D', 'A', 'T')
2119 
2120 ///
2121 /// "WDRT" Watchdog Resource Table
2122 ///
2123 #define EFI_ACPI_5_0_WATCHDOG_RESOURCE_TABLE_SIGNATURE SIGNATURE_32('W', 'D', 'R', 'T')
2124 
2125 ///
2126 /// "WPBT" MS Platform Binary Table
2127 ///
2128 #define EFI_ACPI_5_0_PLATFORM_BINARY_TABLE_SIGNATURE SIGNATURE_32('W', 'P', 'B', 'T')
2129 
2130 #pragma pack()
2131 
2132 #endif
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE XPm2CntBlk
Definition: Acpi50.h:290
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE RegisterRegion
Definition: Acpi50.h:1791
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE ErrorStatusAddress
Definition: Acpi50.h:1616
PCI Express Root Port AER Structure Definition.
Definition: Acpi50.h:1537
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE XPm1aEvtBlk
Definition: Acpi50.h:286
UINT8 Flags
Definition: Acpi50.h:1710
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi50.h:1298
Generic Hardware Error Source Structure Definition.
Definition: Acpi50.h:1607
PACKED struct @478 ACPI_LARGE_RESOURCE_HEADER
UINT8 DataBitLength
Definition: Acpi50.h:120
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE SleepStatusReg
Definition: Acpi50.h:295
Boot Error Region Block Status Definition.
Definition: Acpi50.h:1352
UINT8 PinConfiguration
Definition: Acpi50.h:59
Embedded Controller Boot Resources Table (ECDT) The table is followed by a null terminated ASCII stri...
Definition: Acpi50.h:665
ACPI 4.0 definitions from the ACPI Specification Revision 4.0a April 5, 2010.
PACKED struct @497 EFI_ACPI_GPIO_CONNECTION_DESCRIPTOR
GPIO Connection Descriptor.
UINT8 Flags
Definition: Acpi50.h:1389
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi50.h:1721
UINT64 ExitBootServicesEntry
Timer value logged at the point when the OS loader calls the ExitBootServices function for UEFI compa...
Definition: Acpi50.h:1215
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE DoorbellRegister
Definition: Acpi50.h:1847
UINT32 ErrorDataLength
Definition: Acpi50.h:1390
FPDT Performance Table header.
Definition: Acpi50.h:1159
Common table header, this prefaces all ACPI tables, including FACS, but excluding the RSD PTR structu...
Definition: Acpi50.h:211
Memory Affinity Structure Definition.
Definition: Acpi50.h:724
GIC Structure.
Definition: Acpi50.h:613
Boot Error Region Definition.
Definition: Acpi50.h:1364
Platform Communications Channel Table (PCCT)
Definition: Acpi50.h:1809
IA-32 Architecture Corrected Machine Check Structure Definition.
Definition: Acpi50.h:1509
UINT8 Phase
Definition: Acpi50.h:121
FPDT Performance Record header.
Definition: Acpi50.h:1150
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE XPm1bEvtBlk
Definition: Acpi50.h:287
UINT8 ImageType
1-byte enumerated type field indicating format of the image.
Definition: Acpi50.h:1073
Processor Local APIC Structure Definition.
Definition: Acpi50.h:446
Firmware ACPI Control Structure.
Definition: Acpi50.h:357
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi50.h:1057
Hardware Error Notification Structure Definition.
Definition: Acpi50.h:1494
UINT8 SerialLinesEnabled
Definition: Acpi50.h:142
HEST - Hardware Error Source Table.
Definition: Acpi50.h:1403
PACKED struct @501 EFI_ACPI_SERIAL_BUS_RESOURCE_UART_DESCRIPTOR
Serial Bus Resource Descriptor (UART)
UINT64 FullResume
Timer recorded at the end of BIOS S3 resume, just prior to handoff to the OS waking vector.
Definition: Acpi50.h:1267
UINT16 VendorDataLength
Definition: Acpi50.h:66
EFI_ACPI_5_0_FPDT_PERFORMANCE_RECORD_HEADER Header
Definition: Acpi50.h:1192
EFI_ACPI_5_0_FPDT_PERFORMANCE_TABLE_HEADER Header
Definition: Acpi50.h:1233
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE SleepControlReg
Definition: Acpi50.h:294
UINT8 ResourceSourceIndex
Definition: Acpi50.h:63
EFI_ACPI_5_0_PMMT_COMMON_MEMORY_AGGREGATOR_DEVICE_STRUCTURE Header
Definition: Acpi50.h:1019
Platform Interrupt Sources Structure.
Definition: Acpi50.h:568
unsigned int UINT32
Definition: ProcessorBind.h:98
UINT8 DmaTransferWidth
Definition: Acpi50.h:47
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE XPm1bCntBlk
Definition: Acpi50.h:289
UINT64 Mask
Definition: Acpi50.h:1714
UINT8 Polarity
Definition: Acpi50.h:122
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi50.h:649
EFI_ACPI_5_0_FPDT_PERFORMANCE_RECORD_HEADER Header
Definition: Acpi50.h:1280
MPST Platform Communication Channel Shared Memory Region definition.
Definition: Acpi50.h:908
EFI_ACPI_5_0_HARDWARE_ERROR_NOTIFICATION_STRUCTURE NotificationStructure
Definition: Acpi50.h:1517
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi50.h:242
UINT64 ExitBootServicesExit
Timer value logged at the point just prior to when the OS loader gaining control back from calls the ...
Definition: Acpi50.h:1221
#define PACKED
Definition: Base.h:209
EINJ Injection Instruction Entry.
Definition: Acpi50.h:1786
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE EcData
Definition: Acpi50.h:668
MPST Memory Power State Characteristics Table.
Definition: Acpi50.h:966
Common Memory Aggregator Device Structure.
Definition: Acpi50.h:1000
UINT64 SuspendEnd
Timer value recorded at the final firmware write to SLP_TYP (or other mechanism) used to trigger hard...
Definition: Acpi50.h:1291
unsigned char UINT8
IA-32 Architecture Machine Check Bank Structure Definition.
Definition: Acpi50.h:1450
UINT64 ResetEnd
Timer value logged at the beginning of firmware image execution.
Definition: Acpi50.h:1198
UINT32 ConnectionSpeed
Definition: Acpi50.h:103
UINT64 SuspendStart
Timer value recorded at the OS write to SLP_TYP upon entry to S3.
Definition: Acpi50.h:1285
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE XPmTmrBlk
Definition: Acpi50.h:291
Fixed ACPI Description Table Structure (FADT)
Definition: Acpi50.h:241
Interrupt Source Override Structure.
Definition: Acpi50.h:474
EFI_ACPI_5_0_FPDT_PERFORMANCE_RECORD_HEADER Header
Definition: Acpi50.h:1168
UINT8 ValidationBits
Definition: Acpi50.h:1388
UINT8 InjectionAction
Definition: Acpi50.h:1787
Generic Communications Channel Shared Memory Region.
Definition: Acpi50.h:1859
Processor Local x2APIC Affinity Structure Definition.
Definition: Acpi50.h:748
Non-Maskable Interrupt Source Structure.
Definition: Acpi50.h:510
UINT16 RxFIFO
Definition: Acpi50.h:139
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE RegisterRegion
Definition: Acpi50.h:1712
Generic Communications Subspace Structure.
Definition: Acpi50.h:1841
GIC Distributor Structure.
Definition: Acpi50.h:635
Maximum Proximity Domain Information Structure Definition.
Definition: Acpi50.h:821
UINT8 Instruction
Definition: Acpi50.h:1709
UINT8 Reserved0
Definition: Acpi50.h:1790
PACKED struct @500 EFI_ACPI_SERIAL_BUS_RESOURCE_SPI_DESCRIPTOR
Serial Bus Resource Descriptor (SPI)
Generic Timer Description Table definition.
Definition: Acpi50.h:1304
EINJ - Error Injection Table.
Definition: Acpi50.h:1720
UINT64 S3PerformanceTablePointer
64-bit processor-relative physical address of the S3 Performance Table.
Definition: Acpi50.h:1185
IA-32 Architecture Machine Check Exception Structure Definition.
Definition: Acpi50.h:1433
Local x2APIC NMI Structure.
Definition: Acpi50.h:601
UINT64 OsLoaderLoadImageStart
Timer value logged just prior to loading the OS boot loader into memory.
Definition: Acpi50.h:1203
UINT16 SlaveAddress
Definition: Acpi50.h:104
UINT8 SerializationAction
Definition: Acpi50.h:1708
Root System Description Pointer Structure.
Definition: Acpi50.h:190
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi50.h:988
UINT64 AverageResume
Average timer value of all resume cycles logged since the last full boot sequence,...
Definition: Acpi50.h:1273
ERST Serialization Instruction Entry.
Definition: Acpi50.h:1707
UINT8 SerialBusType
Definition: Acpi50.h:79
Local APIC NMI Structure.
Definition: Acpi50.h:520
Multiple APIC Description Table header definition.
Definition: Acpi50.h:403
Boot Graphics Resource Table definition.
Definition: Acpi50.h:1056
UINT32 ImageOffsetY
A 4-byte (32-bit) unsigned long describing the display Y-offset of the boot image.
Definition: Acpi50.h:1090
ACPI RASF Parameter Block structure for PATROL_SCRUB.
Definition: Acpi50.h:871
EFI_ACPI_5_0_FPDT_PERFORMANCE_RECORD_HEADER Header
Definition: Acpi50.h:1180
ERST - Error Record Serialization Table.
Definition: Acpi50.h:1635
UINT16 Version
2-bytes (16 bit) version ID.
Definition: Acpi50.h:1061
EFI_ACPI_5_0_FPDT_PERFORMANCE_TABLE_HEADER Header
Definition: Acpi50.h:1248
EFI_ACPI_5_0_ERROR_BLOCK_STATUS BlockStatus
Definition: Acpi50.h:1625
Memory Topology Table definition.
Definition: Acpi50.h:987
unsigned short UINT16
UINT8 Reserved
Must be zero.
Definition: Acpi30.h:50
UINT64 BootPerformanceTablePointer
64-bit processor-relative physical address of the Basic Boot Performance Table.
Definition: Acpi50.h:1173
Corrected Platform Error Polling Table (CPEP)
Definition: Acpi50.h:776
UINT16 Revision
Definition: Acpi50.h:1387
UINT16 DmaChannel
Definition: Acpi50.h:46
PCI Express Bridge AER Structure Definition.
Definition: Acpi50.h:1582
UINT16 ResourceSourceNameOffset
Definition: Acpi50.h:64
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE XPm1aCntBlk
Definition: Acpi50.h:288
System Locality Distance Information Table (SLIT).
Definition: Acpi50.h:763
UINT8 Reserved0
Definition: Acpi50.h:1711
UINT32 PerformanceInterruptGsiv
Definition: Acpi50.h:621
FPDT S3 Performance Table Pointer Record Structure.
Definition: Acpi50.h:1179
The common ACPI description table header.
Definition: Acpi10.h:29
MemoryController Memory Aggregator Device Structure.
Definition: Acpi50.h:1028
UINT16 DebounceTimeout
Definition: Acpi50.h:61
EINJ Trigger Action Table.
Definition: Acpi50.h:1799
PACKED union @477 ACPI_SMALL_RESOURCE_HEADER
Memory Power State Table definition.
Definition: Acpi50.h:892
Generic Error Data Entry Definition.
Definition: Acpi50.h:1384
EFI_ACPI_5_0_PCCT_GENERIC_SHARED_MEMORY_REGION_COMMAND Command
Definition: Acpi50.h:1876
unsigned long long UINT64
Definition: ProcessorBind.h:96
UINT16 TypeDataLength
Definition: Acpi50.h:83
IA-32 Architecture NMI Error Structure Definition.
Definition: Acpi50.h:1525
Processor Local x2APIC Structure Definition.
Definition: Acpi50.h:589
IO SAPIC Structure.
Definition: Acpi50.h:541
EFI_ACPI_5_0_FPDT_PERFORMANCE_RECORD_HEADER Header
Definition: Acpi50.h:1258
UINT32 ResumeCount
A count of the number of S3 resume cycles since the last full boot sequence.
Definition: Acpi50.h:1262
Local SAPIC Structure This struct followed by a null-terminated ASCII string - ACPI Processor UID Str...
Definition: Acpi50.h:554
UINT64 OsLoaderStartImageStart
Timer value logged just prior to launching the previously loaded OS boot loader image.
Definition: Acpi50.h:1209
UINT16 DeviceSelection
Definition: Acpi50.h:123
Local APIC Address Override Structure.
Definition: Acpi50.h:531
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi50.h:893
UINT8 Status
1-byte status field indicating current status about the table.
Definition: Acpi50.h:1067
UINT64 ImageAddress
8-byte (64 bit) physical address pointing to the firmware's in-memory copy of the image bitmap.
Definition: Acpi50.h:1078
Firmware Performance Record Table definition.
Definition: Acpi50.h:1297
Smart Battery Description Table (SBST)
Definition: Acpi50.h:648
FILE_LICENCE(BSD2_PATENT)
System Resource Affinity Table (SRAT).
Definition: Acpi50.h:682
PCI Express Device AER Structure Definition.
Definition: Acpi50.h:1560
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi50.h:834
FPDT Firmware Basic Boot Performance Record Structure.
Definition: Acpi50.h:1191
Generic Error Status Definition.
Definition: Acpi50.h:1624
DIMM Memory Aggregator Device Structure.
Definition: Acpi50.h:1045
PCC Subspace Structure Header.
Definition: Acpi50.h:1833
IO APIC Structure.
Definition: Acpi50.h:462
UINT32 ErrorSeverity
Definition: Acpi50.h:1386
EFI_ACPI_5_0_HARDWARE_ERROR_NOTIFICATION_STRUCTURE NotificationStructure
Definition: Acpi50.h:1617
Processor Local APIC/SAPIC Affinity Structure Definition.
Definition: Acpi50.h:705
UINT64 Value
Definition: Acpi50.h:1792
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE EcControl
Definition: Acpi50.h:667
UINT16 TypeSpecificFlags
Definition: Acpi50.h:81
EFI_ACPI_5_0_PCCT_GENERIC_SHARED_MEMORY_REGION_STATUS Status
Definition: Acpi50.h:1877
UINT16 PinTableOffset
Definition: Acpi50.h:62
Platform Interrupt Sources Structure Definition.
Definition: Acpi50.h:486
UINT32 ImageOffsetX
A 4-byte (32-bit) unsigned long describing the display X-offset of the boot image.
Definition: Acpi50.h:1084
PACKED struct @496 EFI_ACPI_FIXED_DMA_DESCRIPTOR
Generic DMA Descriptor.
FPDT Firmware Basic Boot Performance Pointer Record Structure.
Definition: Acpi50.h:1167
EFI_ACPI_5_0_ERROR_BLOCK_STATUS BlockStatus
Definition: Acpi50.h:1365
Socket Memory Aggregator Device Structure.
Definition: Acpi50.h:1018
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE XGpe0Blk
Definition: Acpi50.h:292
UINT8 RevisionId
Definition: Acpi50.h:55
PACKED struct @498 EFI_ACPI_SERIAL_BUS_RESOURCE_DESCRIPTOR
Serial Bus Resource Descriptor (Generic)
UINT16 VendorDataOffset
Definition: Acpi50.h:65
UINT8 Parity
Definition: Acpi50.h:141
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi50.h:1404
UINT8 ConnectionType
Definition: Acpi50.h:56
UINT8 Instruction
Definition: Acpi50.h:1788
ACPI RASF Platform Communication Channel Shared Memory Region definition.
Definition: Acpi50.h:846
UINT32 DefaultBaudRate
Definition: Acpi50.h:138
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE ResetReg
Definition: Acpi50.h:281
UINT8 TypeSpecificRevisionId
Definition: Acpi50.h:82
EFI_ACPI_5_0_PMMT_COMMON_MEMORY_AGGREGATOR_DEVICE_STRUCTURE Header
Definition: Acpi50.h:1029
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi50.h:1339
UINT16 InterruptFlags
Definition: Acpi50.h:58
Hardware Error Notification Configuration Write Enable Structure Definition.
Definition: Acpi50.h:1481
UINT16 OutputDriveStrength
Definition: Acpi50.h:60
ACPI RAS Feature Table definition.
Definition: Acpi50.h:833
UINT16 TxFIFO
Definition: Acpi50.h:140
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE XGpe1Blk
Definition: Acpi50.h:293
FPDT Basic S3 Suspend Performance Record.
Definition: Acpi50.h:1279
Corrected Platform Error Polling Processor Structure Definition.
Definition: Acpi50.h:794
UINT16 GeneralFlags
Definition: Acpi50.h:57
MPST Memory Power Node Table.
Definition: Acpi50.h:936
Boot Error Record Table (BERT)
Definition: Acpi50.h:1338
UINT8 Flags
Definition: Acpi50.h:1789
ACPI 5.0 Generic Address Space definition.
Definition: Acpi50.h:155
FPDT Basic S3 Resume Performance Record.
Definition: Acpi50.h:1257
UINT16 DmaRequestLine
Definition: Acpi50.h:45
UINT64 Mask
Definition: Acpi50.h:1793
PACKED struct @499 EFI_ACPI_SERIAL_BUS_RESOURCE_I2C_DESCRIPTOR
Serial Bus Resource Descriptor (I2C)
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi50.h:1305
Maximum System Characteristics Table (MSCT)
Definition: Acpi50.h:805
UINT64 Value
Definition: Acpi50.h:1713
EFI_ACPI_5_0_HARDWARE_ERROR_NOTIFICATION_CONFIGURATION_WRITE_ENABLE_STRUCTURE ConfigurationWriteEnable
Definition: Acpi50.h:1497
EFI_ACPI_5_0_PMMT_COMMON_MEMORY_AGGREGATOR_DEVICE_STRUCTURE Header
Definition: Acpi50.h:1046
ACPI_SMALL_RESOURCE_HEADER Header
Definition: Acpi50.h:44