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 FILE_SECBOOT ( PERMITTED );
16 
18 
19 ///
20 /// _CSD Revision for ACPI 5.0
21 ///
22 #define EFI_ACPI_5_0_AML_CSD_REVISION 0
23 
24 ///
25 /// _CSD NumEntries for ACPI 5.0
26 ///
27 #define EFI_ACPI_5_0_AML_CSD_NUM_ENTRIES 6
28 
29 //
30 // Define for Descriptor
31 //
32 #define ACPI_SMALL_FIXED_DMA_DESCRIPTOR_NAME 0x0A
33 #define ACPI_LARGE_GPIO_CONNECTION_DESCRIPTOR_NAME 0x0C
34 #define ACPI_LARGE_GENERIC_SERIAL_BUS_CONNECTION_DESCRIPTOR_NAME 0x0E
35 
36 #define ACPI_FIXED_DMA_DESCRIPTOR 0x55
37 #define ACPI_GPIO_CONNECTION_DESCRIPTOR 0x8C
38 #define ACPI_GENERIC_SERIAL_BUS_CONNECTION_DESCRIPTOR 0x8E
39 
40 ///
41 /// _PSD Revision for ACPI 5.0
42 ///
43 #define EFI_ACPI_5_0_AML_PSD_REVISION 0
44 
45 ///
46 /// _CPC Revision for ACPI 5.0
47 ///
48 #define EFI_ACPI_5_0_AML_CPC_REVISION 1
49 
50 #pragma pack(1)
51 
52 ///
53 /// Generic DMA Descriptor.
54 ///
55 typedef PACKED struct {
61 
62 ///
63 /// GPIO Connection Descriptor
64 ///
65 typedef PACKED struct {
80 
81 #define EFI_ACPI_GPIO_CONNECTION_TYPE_INTERRUPT 0x0
82 #define EFI_ACPI_GPIO_CONNECTION_TYPE_IO 0x1
83 
84 ///
85 /// Serial Bus Resource Descriptor (Generic)
86 ///
87 typedef PACKED struct {
96  // Type specific data
98 
99 #define EFI_ACPI_SERIAL_BUS_RESOURCE_TYPE_I2C 0x1
100 #define EFI_ACPI_SERIAL_BUS_RESOURCE_TYPE_SPI 0x2
101 #define EFI_ACPI_SERIAL_BUS_RESOURCE_TYPE_UART 0x3
102 
103 ///
104 /// Serial Bus Resource Descriptor (I2C)
105 ///
106 typedef PACKED struct {
118 
119 ///
120 /// Serial Bus Resource Descriptor (SPI)
121 ///
122 typedef PACKED struct {
137 
138 /// Revision ID of serial bus uart descriptor
139 #define EFI_ACPI_5_0_SERIAL_BUS_RESOURCE_UART_DESCRIPTOR_REVISION_ID 0x1
140 
141 /// Type specific flags
142 #define EFI_ACPI_5_0_SERIAL_BUS_RESOURCE_UART_DESCRIPTOR_TSF_LITTLE_ENDIAN 0x0
143 #define EFI_ACPI_5_0_SERIAL_BUS_RESOURCE_UART_DESCRIPTOR_TSF_BIG_ENDIAN 0x1
144 #define EFI_ACPI_5_0_SERIAL_BUS_RESOURCE_UART_DESCRIPTOR_TSF_5_BITS_PER_BYTE 0x0
145 #define EFI_ACPI_5_0_SERIAL_BUS_RESOURCE_UART_DESCRIPTOR_TSF_6_BITS_PER_BYTE 0x1
146 #define EFI_ACPI_5_0_SERIAL_BUS_RESOURCE_UART_DESCRIPTOR_TSF_7_BITS_PER_BYTE 0x2
147 #define EFI_ACPI_5_0_SERIAL_BUS_RESOURCE_UART_DESCRIPTOR_TSF_8_BITS_PER_BYTE 0x3
148 #define EFI_ACPI_5_0_SERIAL_BUS_RESOURCE_UART_DESCRIPTOR_TSF_9_BITS_PER_BYTE 0x4
149 #define EFI_ACPI_5_0_SERIAL_BUS_RESOURCE_UART_DESCRIPTOR_TSF_STOP_BIT_NONE 0x0
150 #define EFI_ACPI_5_0_SERIAL_BUS_RESOURCE_UART_DESCRIPTOR_TSF_STOP_BIT_1 0x1
151 #define EFI_ACPI_5_0_SERIAL_BUS_RESOURCE_UART_DESCRIPTOR_TSF_STOP_BIT_1_5 0x2
152 #define EFI_ACPI_5_0_SERIAL_BUS_RESOURCE_UART_DESCRIPTOR_TSF_STOP_BIT_2 0x3
153 #define EFI_ACPI_5_0_SERIAL_BUS_RESOURCE_UART_DESCRIPTOR_TSF_FC_NONE 0x0
154 #define EFI_ACPI_5_0_SERIAL_BUS_RESOURCE_UART_DESCRIPTOR_TSF_FC_HW 0x1
155 #define EFI_ACPI_5_0_SERIAL_BUS_RESOURCE_UART_DESCRIPTOR_TSF_FC_XON_XOFF 0x2
156 
157 /// Parity definitions
158 #define EFI_ACPI_5_0_SERIAL_BUS_RESOURCE_UART_DESCRIPTOR_PARITY_NONE 0x0
159 #define EFI_ACPI_5_0_SERIAL_BUS_RESOURCE_UART_DESCRIPTOR_PARITY_EVEN 0x1
160 #define EFI_ACPI_5_0_SERIAL_BUS_RESOURCE_UART_DESCRIPTOR_PARITY_ODD 0x2
161 #define EFI_ACPI_5_0_SERIAL_BUS_RESOURCE_UART_DESCRIPTOR_PARITY_MARK 0x3
162 #define EFI_ACPI_5_0_SERIAL_BUS_RESOURCE_UART_DESCRIPTOR_PARITY_SPACE 0x4
163 
164 /// Serial lines in use bits
165 #define EFI_ACPI_5_0_SERIAL_BUS_RESOURCE_UART_DESCRIPTOR_LIN_RTS BIT7
166 #define EFI_ACPI_5_0_SERIAL_BUS_RESOURCE_UART_DESCRIPTOR_LIN_CTS BIT6
167 #define EFI_ACPI_5_0_SERIAL_BUS_RESOURCE_UART_DESCRIPTOR_LIN_DTR BIT5
168 #define EFI_ACPI_5_0_SERIAL_BUS_RESOURCE_UART_DESCRIPTOR_LIN_DSR BIT4
169 #define EFI_ACPI_5_0_SERIAL_BUS_RESOURCE_UART_DESCRIPTOR_LIN_RI BIT3
170 #define EFI_ACPI_5_0_SERIAL_BUS_RESOURCE_UART_DESCRIPTOR_LIN_DTD BIT2
171 
172 ///
173 /// Serial Bus Resource Descriptor (UART)
174 ///
175 typedef PACKED struct {
190 
191 #pragma pack()
192 
193 //
194 // Ensure proper structure formats
195 //
196 #pragma pack(1)
197 
198 ///
199 /// ACPI 5.0 Generic Address Space definition
200 ///
201 typedef struct {
208 
209 //
210 // Generic Address Space Address IDs
211 //
212 #define EFI_ACPI_5_0_SYSTEM_MEMORY 0
213 #define EFI_ACPI_5_0_SYSTEM_IO 1
214 #define EFI_ACPI_5_0_PCI_CONFIGURATION_SPACE 2
215 #define EFI_ACPI_5_0_EMBEDDED_CONTROLLER 3
216 #define EFI_ACPI_5_0_SMBUS 4
217 #define EFI_ACPI_5_0_PLATFORM_COMMUNICATION_CHANNEL 0x0A
218 #define EFI_ACPI_5_0_FUNCTIONAL_FIXED_HARDWARE 0x7F
219 
220 //
221 // Generic Address Space Access Sizes
222 //
223 #define EFI_ACPI_5_0_UNDEFINED 0
224 #define EFI_ACPI_5_0_BYTE 1
225 #define EFI_ACPI_5_0_WORD 2
226 #define EFI_ACPI_5_0_DWORD 3
227 #define EFI_ACPI_5_0_QWORD 4
228 
229 //
230 // ACPI 5.0 table structures
231 //
232 
233 ///
234 /// Root System Description Pointer Structure
235 ///
236 typedef struct {
239  UINT8 OemId[6];
247 
248 ///
249 /// RSD_PTR Revision (as defined in ACPI 5.0 spec.)
250 ///
251 #define EFI_ACPI_5_0_ROOT_SYSTEM_DESCRIPTION_POINTER_REVISION 0x02 ///< ACPISpec (Revision 5.0) says current value is 2
252 
253 ///
254 /// Common table header, this prefaces all ACPI tables, including FACS, but
255 /// excluding the RSD PTR structure
256 ///
257 typedef struct {
261 
262 //
263 // Root System Description Table
264 // No definition needed as it is a common description table header, the same with
265 // EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT32 table pointers.
266 //
267 
268 ///
269 /// RSDT Revision (as defined in ACPI 5.0 spec.)
270 ///
271 #define EFI_ACPI_5_0_ROOT_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01
272 
273 //
274 // Extended System Description Table
275 // No definition needed as it is a common description table header, the same with
276 // EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT64 table pointers.
277 //
278 
279 ///
280 /// XSDT Revision (as defined in ACPI 5.0 spec.)
281 ///
282 #define EFI_ACPI_5_0_EXTENDED_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01
283 
284 ///
285 /// Fixed ACPI Description Table Structure (FADT)
286 ///
287 typedef struct {
329  UINT8 Reserved2[3];
343 
344 ///
345 /// FADT Version (as defined in ACPI 5.0 spec.)
346 ///
347 #define EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE_REVISION 0x05
348 
349 //
350 // Fixed ACPI Description Table Preferred Power Management Profile
351 //
352 #define EFI_ACPI_5_0_PM_PROFILE_UNSPECIFIED 0
353 #define EFI_ACPI_5_0_PM_PROFILE_DESKTOP 1
354 #define EFI_ACPI_5_0_PM_PROFILE_MOBILE 2
355 #define EFI_ACPI_5_0_PM_PROFILE_WORKSTATION 3
356 #define EFI_ACPI_5_0_PM_PROFILE_ENTERPRISE_SERVER 4
357 #define EFI_ACPI_5_0_PM_PROFILE_SOHO_SERVER 5
358 #define EFI_ACPI_5_0_PM_PROFILE_APPLIANCE_PC 6
359 #define EFI_ACPI_5_0_PM_PROFILE_PERFORMANCE_SERVER 7
360 #define EFI_ACPI_5_0_PM_PROFILE_TABLET 8
361 
362 //
363 // Fixed ACPI Description Table Boot Architecture Flags
364 // All other bits are reserved and must be set to 0.
365 //
366 #define EFI_ACPI_5_0_LEGACY_DEVICES BIT0
367 #define EFI_ACPI_5_0_8042 BIT1
368 #define EFI_ACPI_5_0_VGA_NOT_PRESENT BIT2
369 #define EFI_ACPI_5_0_MSI_NOT_SUPPORTED BIT3
370 #define EFI_ACPI_5_0_PCIE_ASPM_CONTROLS BIT4
371 #define EFI_ACPI_5_0_CMOS_RTC_NOT_PRESENT BIT5
372 
373 //
374 // Fixed ACPI Description Table Fixed Feature Flags
375 // All other bits are reserved and must be set to 0.
376 //
377 #define EFI_ACPI_5_0_WBINVD BIT0
378 #define EFI_ACPI_5_0_WBINVD_FLUSH BIT1
379 #define EFI_ACPI_5_0_PROC_C1 BIT2
380 #define EFI_ACPI_5_0_P_LVL2_UP BIT3
381 #define EFI_ACPI_5_0_PWR_BUTTON BIT4
382 #define EFI_ACPI_5_0_SLP_BUTTON BIT5
383 #define EFI_ACPI_5_0_FIX_RTC BIT6
384 #define EFI_ACPI_5_0_RTC_S4 BIT7
385 #define EFI_ACPI_5_0_TMR_VAL_EXT BIT8
386 #define EFI_ACPI_5_0_DCK_CAP BIT9
387 #define EFI_ACPI_5_0_RESET_REG_SUP BIT10
388 #define EFI_ACPI_5_0_SEALED_CASE BIT11
389 #define EFI_ACPI_5_0_HEADLESS BIT12
390 #define EFI_ACPI_5_0_CPU_SW_SLP BIT13
391 #define EFI_ACPI_5_0_PCI_EXP_WAK BIT14
392 #define EFI_ACPI_5_0_USE_PLATFORM_CLOCK BIT15
393 #define EFI_ACPI_5_0_S4_RTC_STS_VALID BIT16
394 #define EFI_ACPI_5_0_REMOTE_POWER_ON_CAPABLE BIT17
395 #define EFI_ACPI_5_0_FORCE_APIC_CLUSTER_MODEL BIT18
396 #define EFI_ACPI_5_0_FORCE_APIC_PHYSICAL_DESTINATION_MODE BIT19
397 #define EFI_ACPI_5_0_HW_REDUCED_ACPI BIT20
398 #define EFI_ACPI_5_0_LOW_POWER_S0_IDLE_CAPABLE BIT21
399 
400 ///
401 /// Firmware ACPI Control Structure
402 ///
403 typedef struct {
412  UINT8 Reserved0[3];
414  UINT8 Reserved1[24];
416 
417 ///
418 /// FACS Version (as defined in ACPI 5.0 spec.)
419 ///
420 #define EFI_ACPI_5_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_VERSION 0x02
421 
422 ///
423 /// Firmware Control Structure Feature Flags
424 /// All other bits are reserved and must be set to 0.
425 ///
426 #define EFI_ACPI_5_0_S4BIOS_F BIT0
427 #define EFI_ACPI_5_0_64BIT_WAKE_SUPPORTED_F BIT1
428 
429 ///
430 /// OSPM Enabled Firmware Control Structure Flags
431 /// All other bits are reserved and must be set to 0.
432 ///
433 #define EFI_ACPI_5_0_OSPM_64BIT_WAKE_F BIT0
434 
435 //
436 // Differentiated System Description Table,
437 // Secondary System Description Table
438 // and Persistent System Description Table,
439 // no definition needed as they are common description table header, the same with
440 // EFI_ACPI_DESCRIPTION_HEADER, followed by a definition block.
441 //
442 #define EFI_ACPI_5_0_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_REVISION 0x02
443 #define EFI_ACPI_5_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_REVISION 0x02
444 
445 ///
446 /// Multiple APIC Description Table header definition. The rest of the table
447 /// must be defined in a platform specific manner.
448 ///
449 typedef struct {
454 
455 ///
456 /// MADT Revision (as defined in ACPI 5.0 spec.)
457 ///
458 #define EFI_ACPI_5_0_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION 0x03
459 
460 ///
461 /// Multiple APIC Flags
462 /// All other bits are reserved and must be set to 0.
463 ///
464 #define EFI_ACPI_5_0_PCAT_COMPAT BIT0
465 
466 //
467 // Multiple APIC Description Table APIC structure types
468 // All other values between 0x0D and 0x7F are reserved and
469 // will be ignored by OSPM. 0x80 ~ 0xFF are reserved for OEM.
470 //
471 #define EFI_ACPI_5_0_PROCESSOR_LOCAL_APIC 0x00
472 #define EFI_ACPI_5_0_IO_APIC 0x01
473 #define EFI_ACPI_5_0_INTERRUPT_SOURCE_OVERRIDE 0x02
474 #define EFI_ACPI_5_0_NON_MASKABLE_INTERRUPT_SOURCE 0x03
475 #define EFI_ACPI_5_0_LOCAL_APIC_NMI 0x04
476 #define EFI_ACPI_5_0_LOCAL_APIC_ADDRESS_OVERRIDE 0x05
477 #define EFI_ACPI_5_0_IO_SAPIC 0x06
478 #define EFI_ACPI_5_0_LOCAL_SAPIC 0x07
479 #define EFI_ACPI_5_0_PLATFORM_INTERRUPT_SOURCES 0x08
480 #define EFI_ACPI_5_0_PROCESSOR_LOCAL_X2APIC 0x09
481 #define EFI_ACPI_5_0_LOCAL_X2APIC_NMI 0x0A
482 #define EFI_ACPI_5_0_GIC 0x0B
483 #define EFI_ACPI_5_0_GICD 0x0C
484 
485 //
486 // APIC Structure Definitions
487 //
488 
489 ///
490 /// Processor Local APIC Structure Definition
491 ///
492 typedef struct {
499 
500 ///
501 /// Local APIC Flags. All other bits are reserved and must be 0.
502 ///
503 #define EFI_ACPI_5_0_LOCAL_APIC_ENABLED BIT0
504 
505 ///
506 /// IO APIC Structure
507 ///
508 typedef struct {
516 
517 ///
518 /// Interrupt Source Override Structure
519 ///
520 typedef struct {
528 
529 ///
530 /// Platform Interrupt Sources Structure Definition
531 ///
532 typedef struct {
545 
546 //
547 // MPS INTI flags.
548 // All other bits are reserved and must be set to 0.
549 //
550 #define EFI_ACPI_5_0_POLARITY (3 << 0)
551 #define EFI_ACPI_5_0_TRIGGER_MODE (3 << 2)
552 
553 ///
554 /// Non-Maskable Interrupt Source Structure
555 ///
556 typedef struct {
562 
563 ///
564 /// Local APIC NMI Structure
565 ///
566 typedef struct {
573 
574 ///
575 /// Local APIC Address Override Structure
576 ///
577 typedef struct {
583 
584 ///
585 /// IO SAPIC Structure
586 ///
587 typedef struct {
595 
596 ///
597 /// Local SAPIC Structure
598 /// This struct followed by a null-terminated ASCII string - ACPI Processor UID String
599 ///
600 typedef struct {
610 
611 ///
612 /// Platform Interrupt Sources Structure
613 ///
614 typedef struct {
625 
626 ///
627 /// Platform Interrupt Source Flags.
628 /// All other bits are reserved and must be set to 0.
629 ///
630 #define EFI_ACPI_5_0_CPEI_PROCESSOR_OVERRIDE BIT0
631 
632 ///
633 /// Processor Local x2APIC Structure Definition
634 ///
635 typedef struct {
643 
644 ///
645 /// Local x2APIC NMI Structure
646 ///
647 typedef struct {
655 
656 ///
657 /// GIC Structure
658 ///
659 typedef struct {
671 
672 ///
673 /// GIC Flags. All other bits are reserved and must be 0.
674 ///
675 #define EFI_ACPI_5_0_GIC_ENABLED BIT0
676 #define EFI_ACPI_5_0_PERFORMANCE_INTERRUPT_MODEL BIT1
677 
678 ///
679 /// GIC Distributor Structure
680 ///
681 typedef struct {
690 
691 ///
692 /// Smart Battery Description Table (SBST)
693 ///
694 typedef struct {
700 
701 ///
702 /// SBST Version (as defined in ACPI 5.0 spec.)
703 ///
704 #define EFI_ACPI_5_0_SMART_BATTERY_DESCRIPTION_TABLE_REVISION 0x01
705 
706 ///
707 /// Embedded Controller Boot Resources Table (ECDT)
708 /// The table is followed by a null terminated ASCII string that contains
709 /// a fully qualified reference to the name space object.
710 ///
711 typedef struct {
718 
719 ///
720 /// ECDT Version (as defined in ACPI 5.0 spec.)
721 ///
722 #define EFI_ACPI_5_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_REVISION 0x01
723 
724 ///
725 /// System Resource Affinity Table (SRAT). The rest of the table
726 /// must be defined in a platform specific manner.
727 ///
728 typedef struct {
730  UINT32 Reserved1; ///< Must be set to 1
733 
734 ///
735 /// SRAT Version (as defined in ACPI 5.0 spec.)
736 ///
737 #define EFI_ACPI_5_0_SYSTEM_RESOURCE_AFFINITY_TABLE_REVISION 0x03
738 
739 //
740 // SRAT structure types.
741 // All other values between 0x03 an 0xFF are reserved and
742 // will be ignored by OSPM.
743 //
744 #define EFI_ACPI_5_0_PROCESSOR_LOCAL_APIC_SAPIC_AFFINITY 0x00
745 #define EFI_ACPI_5_0_MEMORY_AFFINITY 0x01
746 #define EFI_ACPI_5_0_PROCESSOR_LOCAL_X2APIC_AFFINITY 0x02
747 
748 ///
749 /// Processor Local APIC/SAPIC Affinity Structure Definition
750 ///
751 typedef struct {
758  UINT8 ProximityDomain31To8[3];
761 
762 ///
763 /// Local APIC/SAPIC Flags. All other bits are reserved and must be 0.
764 ///
765 #define EFI_ACPI_5_0_PROCESSOR_LOCAL_APIC_SAPIC_ENABLED (1 << 0)
766 
767 ///
768 /// Memory Affinity Structure Definition
769 ///
770 typedef struct {
783 
784 //
785 // Memory Flags. All other bits are reserved and must be 0.
786 //
787 #define EFI_ACPI_5_0_MEMORY_ENABLED (1 << 0)
788 #define EFI_ACPI_5_0_MEMORY_HOT_PLUGGABLE (1 << 1)
789 #define EFI_ACPI_5_0_MEMORY_NONVOLATILE (1 << 2)
790 
791 ///
792 /// Processor Local x2APIC Affinity Structure Definition
793 ///
794 typedef struct {
797  UINT8 Reserved1[2];
802  UINT8 Reserved2[4];
804 
805 ///
806 /// System Locality Distance Information Table (SLIT).
807 /// The rest of the table is a matrix.
808 ///
809 typedef struct {
813 
814 ///
815 /// SLIT Version (as defined in ACPI 5.0 spec.)
816 ///
817 #define EFI_ACPI_5_0_SYSTEM_LOCALITY_DISTANCE_INFORMATION_TABLE_REVISION 0x01
818 
819 ///
820 /// Corrected Platform Error Polling Table (CPEP)
821 ///
822 typedef struct {
826 
827 ///
828 /// CPEP Version (as defined in ACPI 5.0 spec.)
829 ///
830 #define EFI_ACPI_5_0_CORRECTED_PLATFORM_ERROR_POLLING_TABLE_REVISION 0x01
831 
832 //
833 // CPEP processor structure types.
834 //
835 #define EFI_ACPI_5_0_CPEP_PROCESSOR_APIC_SAPIC 0x00
836 
837 ///
838 /// Corrected Platform Error Polling Processor Structure Definition
839 ///
840 typedef struct {
847 
848 ///
849 /// Maximum System Characteristics Table (MSCT)
850 ///
851 typedef struct {
858 
859 ///
860 /// MSCT Version (as defined in ACPI 5.0 spec.)
861 ///
862 #define EFI_ACPI_5_0_MAXIMUM_SYSTEM_CHARACTERISTICS_TABLE_REVISION 0x01
863 
864 ///
865 /// Maximum Proximity Domain Information Structure Definition
866 ///
867 typedef struct {
875 
876 ///
877 /// ACPI RAS Feature Table definition.
878 ///
879 typedef struct {
881  UINT8 PlatformCommunicationChannelIdentifier[12];
883 
884 ///
885 /// RASF Version (as defined in ACPI 5.0 spec.)
886 ///
887 #define EFI_ACPI_5_0_RAS_FEATURE_TABLE_REVISION 0x01
888 
889 ///
890 /// ACPI RASF Platform Communication Channel Shared Memory Region definition.
891 ///
892 typedef struct {
897  UINT8 RASCapabilities[16];
898  UINT8 SetRASCapabilities[16];
902 
903 ///
904 /// ACPI RASF PCC command code
905 ///
906 #define EFI_ACPI_5_0_RASF_PCC_COMMAND_CODE_EXECUTE_RASF_COMMAND 0x01
907 
908 ///
909 /// ACPI RASF Platform RAS Capabilities
910 ///
911 #define EFI_ACPI_5_0_RASF_PLATFORM_RAS_CAPABILITY_HARDWARE_BASED_PATROL_SCRUB_SUPPOTED 0x01
912 #define EFI_ACPI_5_0_RASF_PLATFORM_RAS_CAPABILITY_HARDWARE_BASED_PATROL_SCRUB_SUPPOTED_AND_EXPOSED_TO_SOFTWARE 0x02
913 
914 ///
915 /// ACPI RASF Parameter Block structure for PATROL_SCRUB
916 ///
917 typedef struct {
922  UINT64 RequestedAddressRange[2];
923  UINT64 ActualAddressRange[2];
927 
928 ///
929 /// ACPI RASF Patrol Scrub command
930 ///
931 #define EFI_ACPI_5_0_RASF_PATROL_SCRUB_COMMAND_GET_PATROL_PARAMETERS 0x01
932 #define EFI_ACPI_5_0_RASF_PATROL_SCRUB_COMMAND_START_PATROL_SCRUBBER 0x02
933 #define EFI_ACPI_5_0_RASF_PATROL_SCRUB_COMMAND_STOP_PATROL_SCRUBBER 0x03
934 
935 ///
936 /// Memory Power State Table definition.
937 ///
938 typedef struct {
942  // Memory Power Node Structure
943  // Memory Power State Characteristics
945 
946 ///
947 /// MPST Version (as defined in ACPI 5.0 spec.)
948 ///
949 #define EFI_ACPI_5_0_MEMORY_POWER_STATE_TABLE_REVISION 0x01
950 
951 ///
952 /// MPST Platform Communication Channel Shared Memory Region definition.
953 ///
954 typedef struct {
965 
966 ///
967 /// ACPI MPST PCC command code
968 ///
969 #define EFI_ACPI_5_0_MPST_PCC_COMMAND_CODE_EXECUTE_MPST_COMMAND 0x03
970 
971 ///
972 /// ACPI MPST Memory Power command
973 ///
974 #define EFI_ACPI_5_0_MPST_MEMORY_POWER_COMMAND_GET_MEMORY_POWER_STATE 0x01
975 #define EFI_ACPI_5_0_MPST_MEMORY_POWER_COMMAND_SET_MEMORY_POWER_STATE 0x02
976 #define EFI_ACPI_5_0_MPST_MEMORY_POWER_COMMAND_GET_AVERAGE_POWER_CONSUMED 0x03
977 #define EFI_ACPI_5_0_MPST_MEMORY_POWER_COMMAND_GET_MEMORY_ENERGY_CONSUMED 0x04
978 
979 ///
980 /// MPST Memory Power Node Table
981 ///
982 typedef struct {
986 
987 typedef struct {
996  // EFI_ACPI_5_0_MPST_MEMORY_POWER_STATE MemoryPowerState[NumberOfPowerStates];
997  // UINT16 PhysicalComponentIdentifier[NumberOfPhysicalComponents];
999 
1000 #define EFI_ACPI_5_0_MPST_MEMORY_POWER_STRUCTURE_FLAG_ENABLE 0x01
1001 #define EFI_ACPI_5_0_MPST_MEMORY_POWER_STRUCTURE_FLAG_POWER_MANAGED 0x02
1002 #define EFI_ACPI_5_0_MPST_MEMORY_POWER_STRUCTURE_FLAG_HOT_PLUGGABLE 0x04
1003 
1004 typedef struct {
1008 
1009 ///
1010 /// MPST Memory Power State Characteristics Table
1011 ///
1012 typedef struct {
1020 
1021 #define EFI_ACPI_5_0_MPST_MEMORY_POWER_STATE_CHARACTERISTICS_STRUCTURE_FLAG_MEMORY_CONTENT_PRESERVED 0x01
1022 #define EFI_ACPI_5_0_MPST_MEMORY_POWER_STATE_CHARACTERISTICS_STRUCTURE_FLAG_AUTONOMOUS_MEMORY_POWER_STATE_ENTRY 0x02
1023 #define EFI_ACPI_5_0_MPST_MEMORY_POWER_STATE_CHARACTERISTICS_STRUCTURE_FLAG_AUTONOMOUS_MEMORY_POWER_STATE_EXIT 0x04
1024 
1025 typedef struct {
1029 
1030 ///
1031 /// Memory Topology Table definition.
1032 ///
1033 typedef struct {
1037 
1038 ///
1039 /// PMTT Version (as defined in ACPI 5.0 spec.)
1040 ///
1041 #define EFI_ACPI_5_0_MEMORY_TOPOLOGY_TABLE_REVISION 0x01
1042 
1043 ///
1044 /// Common Memory Aggregator Device Structure.
1045 ///
1046 typedef struct {
1053 
1054 ///
1055 /// Memory Aggregator Device Type
1056 ///
1057 #define EFI_ACPI_5_0_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_SOCKET 0x0
1058 #define EFI_ACPI_5_0_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_MEMORY_CONTROLLER 0x1
1059 #define EFI_ACPI_5_0_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_DIMM 0x2
1060 
1061 ///
1062 /// Socket Memory Aggregator Device Structure.
1063 ///
1064 typedef struct {
1068  // EFI_ACPI_5_0_PMMT_MEMORY_CONTROLLER_MEMORY_AGGREGATOR_DEVICE_STRUCTURE MemoryController[];
1070 
1071 ///
1072 /// MemoryController Memory Aggregator Device Structure.
1073 ///
1074 typedef struct {
1084  // UINT32 ProximityDomain[NumberOfProximityDomains];
1085  // EFI_ACPI_5_0_PMMT_DIMM_MEMORY_AGGREGATOR_DEVICE_STRUCTURE PhysicalComponent[];
1087 
1088 ///
1089 /// DIMM Memory Aggregator Device Structure.
1090 ///
1091 typedef struct {
1098 
1099 ///
1100 /// Boot Graphics Resource Table definition.
1101 ///
1102 typedef struct {
1104  ///
1105  /// 2-bytes (16 bit) version ID. This value must be 1.
1106  ///
1108  ///
1109  /// 1-byte status field indicating current status about the table.
1110  /// Bits[7:1] = Reserved (must be zero)
1111  /// Bit [0] = Valid. A one indicates the boot image graphic is valid.
1112  ///
1114  ///
1115  /// 1-byte enumerated type field indicating format of the image.
1116  /// 0 = Bitmap
1117  /// 1 - 255 Reserved (for future use)
1118  ///
1120  ///
1121  /// 8-byte (64 bit) physical address pointing to the firmware's in-memory copy
1122  /// of the image bitmap.
1123  ///
1125  ///
1126  /// A 4-byte (32-bit) unsigned long describing the display X-offset of the boot image.
1127  /// (X, Y) display offset of the top left corner of the boot image.
1128  /// The top left corner of the display is at offset (0, 0).
1129  ///
1131  ///
1132  /// A 4-byte (32-bit) unsigned long describing the display Y-offset of the boot image.
1133  /// (X, Y) display offset of the top left corner of the boot image.
1134  /// The top left corner of the display is at offset (0, 0).
1135  ///
1138 
1139 ///
1140 /// BGRT Revision
1141 ///
1142 #define EFI_ACPI_5_0_BOOT_GRAPHICS_RESOURCE_TABLE_REVISION 1
1143 
1144 ///
1145 /// BGRT Version
1146 ///
1147 #define EFI_ACPI_5_0_BGRT_VERSION 0x01
1148 
1149 ///
1150 /// BGRT Status
1151 ///
1152 #define EFI_ACPI_5_0_BGRT_STATUS_NOT_DISPLAYED 0x00
1153 #define EFI_ACPI_5_0_BGRT_STATUS_DISPLAYED 0x01
1154 #define EFI_ACPI_5_0_BGRT_STATUS_INVALID EFI_ACPI_5_0_BGRT_STATUS_NOT_DISPLAYED
1155 #define EFI_ACPI_5_0_BGRT_STATUS_VALID EFI_ACPI_5_0_BGRT_STATUS_DISPLAYED
1156 
1157 ///
1158 /// BGRT Image Type
1159 ///
1160 #define EFI_ACPI_5_0_BGRT_IMAGE_TYPE_BMP 0x00
1161 
1162 ///
1163 /// FPDT Version (as defined in ACPI 5.0 spec.)
1164 ///
1165 #define EFI_ACPI_5_0_FIRMWARE_PERFORMANCE_DATA_TABLE_REVISION 0x01
1166 
1167 ///
1168 /// FPDT Performance Record Types
1169 ///
1170 #define EFI_ACPI_5_0_FPDT_RECORD_TYPE_FIRMWARE_BASIC_BOOT_POINTER 0x0000
1171 #define EFI_ACPI_5_0_FPDT_RECORD_TYPE_S3_PERFORMANCE_TABLE_POINTER 0x0001
1172 
1173 ///
1174 /// FPDT Performance Record Revision
1175 ///
1176 #define EFI_ACPI_5_0_FPDT_RECORD_REVISION_FIRMWARE_BASIC_BOOT_POINTER 0x01
1177 #define EFI_ACPI_5_0_FPDT_RECORD_REVISION_S3_PERFORMANCE_TABLE_POINTER 0x01
1178 
1179 ///
1180 /// FPDT Runtime Performance Record Types
1181 ///
1182 #define EFI_ACPI_5_0_FPDT_RUNTIME_RECORD_TYPE_S3_RESUME 0x0000
1183 #define EFI_ACPI_5_0_FPDT_RUNTIME_RECORD_TYPE_S3_SUSPEND 0x0001
1184 #define EFI_ACPI_5_0_FPDT_RUNTIME_RECORD_TYPE_FIRMWARE_BASIC_BOOT 0x0002
1185 
1186 ///
1187 /// FPDT Runtime Performance Record Revision
1188 ///
1189 #define EFI_ACPI_5_0_FPDT_RUNTIME_RECORD_REVISION_S3_RESUME 0x01
1190 #define EFI_ACPI_5_0_FPDT_RUNTIME_RECORD_REVISION_S3_SUSPEND 0x01
1191 #define EFI_ACPI_5_0_FPDT_RUNTIME_RECORD_REVISION_FIRMWARE_BASIC_BOOT 0x02
1192 
1193 ///
1194 /// FPDT Performance Record header
1195 ///
1196 typedef struct {
1201 
1202 ///
1203 /// FPDT Performance Table header
1204 ///
1205 typedef struct {
1209 
1210 ///
1211 /// FPDT Firmware Basic Boot Performance Pointer Record Structure
1212 ///
1213 typedef struct {
1216  ///
1217  /// 64-bit processor-relative physical address of the Basic Boot Performance Table.
1218  ///
1221 
1222 ///
1223 /// FPDT S3 Performance Table Pointer Record Structure
1224 ///
1225 typedef struct {
1228  ///
1229  /// 64-bit processor-relative physical address of the S3 Performance Table.
1230  ///
1233 
1234 ///
1235 /// FPDT Firmware Basic Boot Performance Record Structure
1236 ///
1237 typedef struct {
1240  ///
1241  /// Timer value logged at the beginning of firmware image execution.
1242  /// This may not always be zero or near zero.
1243  ///
1245  ///
1246  /// Timer value logged just prior to loading the OS boot loader into memory.
1247  /// For non-UEFI compatible boots, this field must be zero.
1248  ///
1250  ///
1251  /// Timer value logged just prior to launching the previously loaded OS boot loader image.
1252  /// For non-UEFI compatible boots, the timer value logged will be just prior
1253  /// to the INT 19h handler invocation.
1254  ///
1256  ///
1257  /// Timer value logged at the point when the OS loader calls the
1258  /// ExitBootServices function for UEFI compatible firmware.
1259  /// For non-UEFI compatible boots, this field must be zero.
1260  ///
1262  ///
1263  /// Timer value logged at the point just prior to when the OS loader gaining
1264  /// control back from calls the ExitBootServices function for UEFI compatible firmware.
1265  /// For non-UEFI compatible boots, this field must be zero.
1266  ///
1269 
1270 ///
1271 /// FPDT Firmware Basic Boot Performance Table signature
1272 ///
1273 #define EFI_ACPI_5_0_FPDT_BOOT_PERFORMANCE_TABLE_SIGNATURE SIGNATURE_32('F', 'B', 'P', 'T')
1274 
1275 //
1276 // FPDT Firmware Basic Boot Performance Table
1277 //
1278 typedef struct {
1280  //
1281  // one or more Performance Records.
1282  //
1284 
1285 ///
1286 /// FPDT "S3PT" S3 Performance Table
1287 ///
1288 #define EFI_ACPI_5_0_FPDT_S3_PERFORMANCE_TABLE_SIGNATURE SIGNATURE_32('S', '3', 'P', 'T')
1289 
1290 //
1291 // FPDT Firmware S3 Boot Performance Table
1292 //
1293 typedef struct {
1295  //
1296  // one or more Performance Records.
1297  //
1299 
1300 ///
1301 /// FPDT Basic S3 Resume Performance Record
1302 ///
1303 typedef struct {
1305  ///
1306  /// A count of the number of S3 resume cycles since the last full boot sequence.
1307  ///
1309  ///
1310  /// Timer recorded at the end of BIOS S3 resume, just prior to handoff to the
1311  /// OS waking vector. Only the most recent resume cycle's time is retained.
1312  ///
1314  ///
1315  /// Average timer value of all resume cycles logged since the last full boot
1316  /// sequence, including the most recent resume. Note that the entire log of
1317  /// timer values does not need to be retained in order to calculate this average.
1318  ///
1321 
1322 ///
1323 /// FPDT Basic S3 Suspend Performance Record
1324 ///
1325 typedef struct {
1327  ///
1328  /// Timer value recorded at the OS write to SLP_TYP upon entry to S3.
1329  /// Only the most recent suspend cycle's timer value is retained.
1330  ///
1332  ///
1333  /// Timer value recorded at the final firmware write to SLP_TYP (or other
1334  /// mechanism) used to trigger hardware entry to S3.
1335  /// Only the most recent suspend cycle's timer value is retained.
1336  ///
1339 
1340 ///
1341 /// Firmware Performance Record Table definition.
1342 ///
1343 typedef struct {
1346 
1347 ///
1348 /// Generic Timer Description Table definition.
1349 ///
1350 typedef struct {
1363 
1364 ///
1365 /// GTDT Version (as defined in ACPI 5.0 spec.)
1366 ///
1367 #define EFI_ACPI_5_0_GENERIC_TIMER_DESCRIPTION_TABLE_REVISION 0x01
1368 
1369 ///
1370 /// Global Flags. All other bits are reserved and must be 0.
1371 ///
1372 #define EFI_ACPI_5_0_GTDT_GLOBAL_FLAG_MEMORY_MAPPED_BLOCK_PRESENT BIT0
1373 #define EFI_ACPI_5_0_GTDT_GLOBAL_FLAG_INTERRUPT_MODE BIT1
1374 
1375 ///
1376 /// Timer Flags. All other bits are reserved and must be 0.
1377 ///
1378 #define EFI_ACPI_5_0_GTDT_TIMER_FLAG_TIMER_INTERRUPT_MODE BIT0
1379 #define EFI_ACPI_5_0_GTDT_TIMER_FLAG_TIMER_INTERRUPT_POLARITY BIT1
1380 
1381 ///
1382 /// Boot Error Record Table (BERT)
1383 ///
1384 typedef struct {
1389 
1390 ///
1391 /// BERT Version (as defined in ACPI 5.0 spec.)
1392 ///
1393 #define EFI_ACPI_5_0_BOOT_ERROR_RECORD_TABLE_REVISION 0x01
1394 
1395 ///
1396 /// Boot Error Region Block Status Definition
1397 ///
1398 typedef struct {
1406 
1407 ///
1408 /// Boot Error Region Definition
1409 ///
1410 typedef struct {
1417 
1418 //
1419 // Boot Error Severity types
1420 //
1421 #define EFI_ACPI_5_0_ERROR_SEVERITY_CORRECTABLE 0x00
1422 #define EFI_ACPI_5_0_ERROR_SEVERITY_RECOVERABLE 0x00
1423 #define EFI_ACPI_5_0_ERROR_SEVERITY_FATAL 0x01
1424 #define EFI_ACPI_5_0_ERROR_SEVERITY_CORRECTED 0x02
1425 #define EFI_ACPI_5_0_ERROR_SEVERITY_NONE 0x03
1426 
1427 ///
1428 /// Generic Error Data Entry Definition
1429 ///
1430 typedef struct {
1431  UINT8 SectionType[16];
1437  UINT8 FruId[16];
1438  UINT8 FruText[20];
1440 
1441 ///
1442 /// Generic Error Data Entry Version (as defined in ACPI 5.0 spec.)
1443 ///
1444 #define EFI_ACPI_5_0_GENERIC_ERROR_DATA_ENTRY_REVISION 0x0201
1445 
1446 ///
1447 /// HEST - Hardware Error Source Table
1448 ///
1449 typedef struct {
1453 
1454 ///
1455 /// HEST Version (as defined in ACPI 5.0 spec.)
1456 ///
1457 #define EFI_ACPI_5_0_HARDWARE_ERROR_SOURCE_TABLE_REVISION 0x01
1458 
1459 //
1460 // Error Source structure types.
1461 //
1462 #define EFI_ACPI_5_0_IA32_ARCHITECTURE_MACHINE_CHECK_EXCEPTION 0x00
1463 #define EFI_ACPI_5_0_IA32_ARCHITECTURE_CORRECTED_MACHINE_CHECK 0x01
1464 #define EFI_ACPI_5_0_IA32_ARCHITECTURE_NMI_ERROR 0x02
1465 #define EFI_ACPI_5_0_PCI_EXPRESS_ROOT_PORT_AER 0x06
1466 #define EFI_ACPI_5_0_PCI_EXPRESS_DEVICE_AER 0x07
1467 #define EFI_ACPI_5_0_PCI_EXPRESS_BRIDGE_AER 0x08
1468 #define EFI_ACPI_5_0_GENERIC_HARDWARE_ERROR 0x09
1469 
1470 //
1471 // Error Source structure flags.
1472 //
1473 #define EFI_ACPI_5_0_ERROR_SOURCE_FLAG_FIRMWARE_FIRST (1 << 0)
1474 #define EFI_ACPI_5_0_ERROR_SOURCE_FLAG_GLOBAL (1 << 1)
1475 
1476 ///
1477 /// IA-32 Architecture Machine Check Exception Structure Definition
1478 ///
1479 typedef struct {
1482  UINT8 Reserved0[2];
1490  UINT8 Reserved1[7];
1492 
1493 ///
1494 /// IA-32 Architecture Machine Check Bank Structure Definition
1495 ///
1496 typedef struct {
1507 
1508 ///
1509 /// IA-32 Architecture Machine Check Bank Structure MCA data format
1510 ///
1511 #define EFI_ACPI_5_0_IA32_ARCHITECTURE_MACHINE_CHECK_ERROR_DATA_FORMAT_IA32 0x00
1512 #define EFI_ACPI_5_0_IA32_ARCHITECTURE_MACHINE_CHECK_ERROR_DATA_FORMAT_INTEL64 0x01
1513 #define EFI_ACPI_5_0_IA32_ARCHITECTURE_MACHINE_CHECK_ERROR_DATA_FORMAT_AMD64 0x02
1514 
1515 //
1516 // Hardware Error Notification types. All other values are reserved
1517 //
1518 #define EFI_ACPI_5_0_HARDWARE_ERROR_NOTIFICATION_POLLED 0x00
1519 #define EFI_ACPI_5_0_HARDWARE_ERROR_NOTIFICATION_EXTERNAL_INTERRUPT 0x01
1520 #define EFI_ACPI_5_0_HARDWARE_ERROR_NOTIFICATION_LOCAL_INTERRUPT 0x02
1521 #define EFI_ACPI_5_0_HARDWARE_ERROR_NOTIFICATION_SCI 0x03
1522 #define EFI_ACPI_5_0_HARDWARE_ERROR_NOTIFICATION_NMI 0x04
1523 
1524 ///
1525 /// Hardware Error Notification Configuration Write Enable Structure Definition
1526 ///
1527 typedef struct {
1536 
1537 ///
1538 /// Hardware Error Notification Structure Definition
1539 ///
1540 typedef struct {
1551 
1552 ///
1553 /// IA-32 Architecture Corrected Machine Check Structure Definition
1554 ///
1555 typedef struct {
1558  UINT8 Reserved0[2];
1565  UINT8 Reserved1[3];
1567 
1568 ///
1569 /// IA-32 Architecture NMI Error Structure Definition
1570 ///
1571 typedef struct {
1574  UINT8 Reserved0[2];
1579 
1580 ///
1581 /// PCI Express Root Port AER Structure Definition
1582 ///
1583 typedef struct {
1586  UINT8 Reserved0[2];
1595  UINT8 Reserved1[2];
1602 
1603 ///
1604 /// PCI Express Device AER Structure Definition
1605 ///
1606 typedef struct {
1609  UINT8 Reserved0[2];
1618  UINT8 Reserved1[2];
1624 
1625 ///
1626 /// PCI Express Bridge AER Structure Definition
1627 ///
1628 typedef struct {
1631  UINT8 Reserved0[2];
1640  UINT8 Reserved1[2];
1649 
1650 ///
1651 /// Generic Hardware Error Source Structure Definition
1652 ///
1653 typedef struct {
1666 
1667 ///
1668 /// Generic Error Status Definition
1669 ///
1670 typedef struct {
1677 
1678 ///
1679 /// ERST - Error Record Serialization Table
1680 ///
1681 typedef struct {
1684  UINT8 Reserved0[4];
1687 
1688 ///
1689 /// ERST Version (as defined in ACPI 5.0 spec.)
1690 ///
1691 #define EFI_ACPI_5_0_ERROR_RECORD_SERIALIZATION_TABLE_REVISION 0x01
1692 
1693 ///
1694 /// ERST Serialization Actions
1695 ///
1696 #define EFI_ACPI_5_0_ERST_BEGIN_WRITE_OPERATION 0x00
1697 #define EFI_ACPI_5_0_ERST_BEGIN_READ_OPERATION 0x01
1698 #define EFI_ACPI_5_0_ERST_BEGIN_CLEAR_OPERATION 0x02
1699 #define EFI_ACPI_5_0_ERST_END_OPERATION 0x03
1700 #define EFI_ACPI_5_0_ERST_SET_RECORD_OFFSET 0x04
1701 #define EFI_ACPI_5_0_ERST_EXECUTE_OPERATION 0x05
1702 #define EFI_ACPI_5_0_ERST_CHECK_BUSY_STATUS 0x06
1703 #define EFI_ACPI_5_0_ERST_GET_COMMAND_STATUS 0x07
1704 #define EFI_ACPI_5_0_ERST_GET_RECORD_IDENTIFIER 0x08
1705 #define EFI_ACPI_5_0_ERST_SET_RECORD_IDENTIFIER 0x09
1706 #define EFI_ACPI_5_0_ERST_GET_RECORD_COUNT 0x0A
1707 #define EFI_ACPI_5_0_ERST_BEGIN_DUMMY_WRITE_OPERATION 0x0B
1708 #define EFI_ACPI_5_0_ERST_GET_ERROR_LOG_ADDRESS_RANGE 0x0D
1709 #define EFI_ACPI_5_0_ERST_GET_ERROR_LOG_ADDRESS_RANGE_LENGTH 0x0E
1710 #define EFI_ACPI_5_0_ERST_GET_ERROR_LOG_ADDRESS_RANGE_ATTRIBUTES 0x0F
1711 
1712 ///
1713 /// ERST Action Command Status
1714 ///
1715 #define EFI_ACPI_5_0_ERST_STATUS_SUCCESS 0x00
1716 #define EFI_ACPI_5_0_ERST_STATUS_NOT_ENOUGH_SPACE 0x01
1717 #define EFI_ACPI_5_0_ERST_STATUS_HARDWARE_NOT_AVAILABLE 0x02
1718 #define EFI_ACPI_5_0_ERST_STATUS_FAILED 0x03
1719 #define EFI_ACPI_5_0_ERST_STATUS_RECORD_STORE_EMPTY 0x04
1720 #define EFI_ACPI_5_0_ERST_STATUS_RECORD_NOT_FOUND 0x05
1721 
1722 ///
1723 /// ERST Serialization Instructions
1724 ///
1725 #define EFI_ACPI_5_0_ERST_READ_REGISTER 0x00
1726 #define EFI_ACPI_5_0_ERST_READ_REGISTER_VALUE 0x01
1727 #define EFI_ACPI_5_0_ERST_WRITE_REGISTER 0x02
1728 #define EFI_ACPI_5_0_ERST_WRITE_REGISTER_VALUE 0x03
1729 #define EFI_ACPI_5_0_ERST_NOOP 0x04
1730 #define EFI_ACPI_5_0_ERST_LOAD_VAR1 0x05
1731 #define EFI_ACPI_5_0_ERST_LOAD_VAR2 0x06
1732 #define EFI_ACPI_5_0_ERST_STORE_VAR1 0x07
1733 #define EFI_ACPI_5_0_ERST_ADD 0x08
1734 #define EFI_ACPI_5_0_ERST_SUBTRACT 0x09
1735 #define EFI_ACPI_5_0_ERST_ADD_VALUE 0x0A
1736 #define EFI_ACPI_5_0_ERST_SUBTRACT_VALUE 0x0B
1737 #define EFI_ACPI_5_0_ERST_STALL 0x0C
1738 #define EFI_ACPI_5_0_ERST_STALL_WHILE_TRUE 0x0D
1739 #define EFI_ACPI_5_0_ERST_SKIP_NEXT_INSTRUCTION_IF_TRUE 0x0E
1740 #define EFI_ACPI_5_0_ERST_GOTO 0x0F
1741 #define EFI_ACPI_5_0_ERST_SET_SRC_ADDRESS_BASE 0x10
1742 #define EFI_ACPI_5_0_ERST_SET_DST_ADDRESS_BASE 0x11
1743 #define EFI_ACPI_5_0_ERST_MOVE_DATA 0x12
1744 
1745 ///
1746 /// ERST Instruction Flags
1747 ///
1748 #define EFI_ACPI_5_0_ERST_PRESERVE_REGISTER 0x01
1749 
1750 ///
1751 /// ERST Serialization Instruction Entry
1752 ///
1753 typedef struct {
1762 
1763 ///
1764 /// EINJ - Error Injection Table
1765 ///
1766 typedef struct {
1770  UINT8 Reserved0[3];
1773 
1774 ///
1775 /// EINJ Version (as defined in ACPI 5.0 spec.)
1776 ///
1777 #define EFI_ACPI_5_0_ERROR_INJECTION_TABLE_REVISION 0x01
1778 
1779 ///
1780 /// EINJ Error Injection Actions
1781 ///
1782 #define EFI_ACPI_5_0_EINJ_BEGIN_INJECTION_OPERATION 0x00
1783 #define EFI_ACPI_5_0_EINJ_GET_TRIGGER_ERROR_ACTION_TABLE 0x01
1784 #define EFI_ACPI_5_0_EINJ_SET_ERROR_TYPE 0x02
1785 #define EFI_ACPI_5_0_EINJ_GET_ERROR_TYPE 0x03
1786 #define EFI_ACPI_5_0_EINJ_END_OPERATION 0x04
1787 #define EFI_ACPI_5_0_EINJ_EXECUTE_OPERATION 0x05
1788 #define EFI_ACPI_5_0_EINJ_CHECK_BUSY_STATUS 0x06
1789 #define EFI_ACPI_5_0_EINJ_GET_COMMAND_STATUS 0x07
1790 #define EFI_ACPI_5_0_EINJ_TRIGGER_ERROR 0xFF
1791 
1792 ///
1793 /// EINJ Action Command Status
1794 ///
1795 #define EFI_ACPI_5_0_EINJ_STATUS_SUCCESS 0x00
1796 #define EFI_ACPI_5_0_EINJ_STATUS_UNKNOWN_FAILURE 0x01
1797 #define EFI_ACPI_5_0_EINJ_STATUS_INVALID_ACCESS 0x02
1798 
1799 ///
1800 /// EINJ Error Type Definition
1801 ///
1802 #define EFI_ACPI_5_0_EINJ_ERROR_PROCESSOR_CORRECTABLE (1 << 0)
1803 #define EFI_ACPI_5_0_EINJ_ERROR_PROCESSOR_UNCORRECTABLE_NONFATAL (1 << 1)
1804 #define EFI_ACPI_5_0_EINJ_ERROR_PROCESSOR_UNCORRECTABLE_FATAL (1 << 2)
1805 #define EFI_ACPI_5_0_EINJ_ERROR_MEMORY_CORRECTABLE (1 << 3)
1806 #define EFI_ACPI_5_0_EINJ_ERROR_MEMORY_UNCORRECTABLE_NONFATAL (1 << 4)
1807 #define EFI_ACPI_5_0_EINJ_ERROR_MEMORY_UNCORRECTABLE_FATAL (1 << 5)
1808 #define EFI_ACPI_5_0_EINJ_ERROR_PCI_EXPRESS_CORRECTABLE (1 << 6)
1809 #define EFI_ACPI_5_0_EINJ_ERROR_PCI_EXPRESS_UNCORRECTABLE_NONFATAL (1 << 7)
1810 #define EFI_ACPI_5_0_EINJ_ERROR_PCI_EXPRESS_UNCORRECTABLE_FATAL (1 << 8)
1811 #define EFI_ACPI_5_0_EINJ_ERROR_PLATFORM_CORRECTABLE (1 << 9)
1812 #define EFI_ACPI_5_0_EINJ_ERROR_PLATFORM_UNCORRECTABLE_NONFATAL (1 << 10)
1813 #define EFI_ACPI_5_0_EINJ_ERROR_PLATFORM_UNCORRECTABLE_FATAL (1 << 11)
1814 
1815 ///
1816 /// EINJ Injection Instructions
1817 ///
1818 #define EFI_ACPI_5_0_EINJ_READ_REGISTER 0x00
1819 #define EFI_ACPI_5_0_EINJ_READ_REGISTER_VALUE 0x01
1820 #define EFI_ACPI_5_0_EINJ_WRITE_REGISTER 0x02
1821 #define EFI_ACPI_5_0_EINJ_WRITE_REGISTER_VALUE 0x03
1822 #define EFI_ACPI_5_0_EINJ_NOOP 0x04
1823 
1824 ///
1825 /// EINJ Instruction Flags
1826 ///
1827 #define EFI_ACPI_5_0_EINJ_PRESERVE_REGISTER 0x01
1828 
1829 ///
1830 /// EINJ Injection Instruction Entry
1831 ///
1832 typedef struct {
1841 
1842 ///
1843 /// EINJ Trigger Action Table
1844 ///
1845 typedef struct {
1851 
1852 ///
1853 /// Platform Communications Channel Table (PCCT)
1854 ///
1855 typedef struct {
1860 
1861 ///
1862 /// PCCT Version (as defined in ACPI 5.0 spec.)
1863 ///
1864 #define EFI_ACPI_5_0_PLATFORM_COMMUNICATION_CHANNEL_TABLE_REVISION 0x01
1865 
1866 ///
1867 /// PCCT Global Flags
1868 ///
1869 #define EFI_ACPI_5_0_PCCT_FLAGS_SCI_DOORBELL BIT0
1870 
1871 //
1872 // PCCT Subspace type
1873 //
1874 #define EFI_ACPI_5_0_PCCT_SUBSPACE_TYPE_GENERIC 0x00
1875 
1876 ///
1877 /// PCC Subspace Structure Header
1878 ///
1879 typedef struct {
1883 
1884 ///
1885 /// Generic Communications Subspace Structure
1886 ///
1887 typedef struct {
1900 
1901 ///
1902 /// Generic Communications Channel Shared Memory Region
1903 ///
1904 
1905 typedef struct {
1910 
1911 typedef struct {
1919 
1920 typedef struct {
1925 
1926 //
1927 // Known table signatures
1928 //
1929 
1930 ///
1931 /// "RSD PTR " Root System Description Pointer
1932 ///
1933 #define EFI_ACPI_5_0_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE SIGNATURE_64('R', 'S', 'D', ' ', 'P', 'T', 'R', ' ')
1934 
1935 ///
1936 /// "APIC" Multiple APIC Description Table
1937 ///
1938 #define EFI_ACPI_5_0_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('A', 'P', 'I', 'C')
1939 
1940 ///
1941 /// "BERT" Boot Error Record Table
1942 ///
1943 #define EFI_ACPI_5_0_BOOT_ERROR_RECORD_TABLE_SIGNATURE SIGNATURE_32('B', 'E', 'R', 'T')
1944 
1945 ///
1946 /// "BGRT" Boot Graphics Resource Table
1947 ///
1948 #define EFI_ACPI_5_0_BOOT_GRAPHICS_RESOURCE_TABLE_SIGNATURE SIGNATURE_32('B', 'G', 'R', 'T')
1949 
1950 ///
1951 /// "CPEP" Corrected Platform Error Polling Table
1952 ///
1953 #define EFI_ACPI_5_0_CORRECTED_PLATFORM_ERROR_POLLING_TABLE_SIGNATURE SIGNATURE_32('C', 'P', 'E', 'P')
1954 
1955 ///
1956 /// "DSDT" Differentiated System Description Table
1957 ///
1958 #define EFI_ACPI_5_0_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('D', 'S', 'D', 'T')
1959 
1960 ///
1961 /// "ECDT" Embedded Controller Boot Resources Table
1962 ///
1963 #define EFI_ACPI_5_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_SIGNATURE SIGNATURE_32('E', 'C', 'D', 'T')
1964 
1965 ///
1966 /// "EINJ" Error Injection Table
1967 ///
1968 #define EFI_ACPI_5_0_ERROR_INJECTION_TABLE_SIGNATURE SIGNATURE_32('E', 'I', 'N', 'J')
1969 
1970 ///
1971 /// "ERST" Error Record Serialization Table
1972 ///
1973 #define EFI_ACPI_5_0_ERROR_RECORD_SERIALIZATION_TABLE_SIGNATURE SIGNATURE_32('E', 'R', 'S', 'T')
1974 
1975 ///
1976 /// "FACP" Fixed ACPI Description Table
1977 ///
1978 #define EFI_ACPI_5_0_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('F', 'A', 'C', 'P')
1979 
1980 ///
1981 /// "FACS" Firmware ACPI Control Structure
1982 ///
1983 #define EFI_ACPI_5_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE SIGNATURE_32('F', 'A', 'C', 'S')
1984 
1985 ///
1986 /// "FPDT" Firmware Performance Data Table
1987 ///
1988 #define EFI_ACPI_5_0_FIRMWARE_PERFORMANCE_DATA_TABLE_SIGNATURE SIGNATURE_32('F', 'P', 'D', 'T')
1989 
1990 ///
1991 /// "GTDT" Generic Timer Description Table
1992 ///
1993 #define EFI_ACPI_5_0_GENERIC_TIMER_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('G', 'T', 'D', 'T')
1994 
1995 ///
1996 /// "HEST" Hardware Error Source Table
1997 ///
1998 #define EFI_ACPI_5_0_HARDWARE_ERROR_SOURCE_TABLE_SIGNATURE SIGNATURE_32('H', 'E', 'S', 'T')
1999 
2000 ///
2001 /// "MPST" Memory Power State Table
2002 ///
2003 #define EFI_ACPI_5_0_MEMORY_POWER_STATE_TABLE_SIGNATURE SIGNATURE_32('M', 'P', 'S', 'T')
2004 
2005 ///
2006 /// "MSCT" Maximum System Characteristics Table
2007 ///
2008 #define EFI_ACPI_5_0_MAXIMUM_SYSTEM_CHARACTERISTICS_TABLE_SIGNATURE SIGNATURE_32('M', 'S', 'C', 'T')
2009 
2010 ///
2011 /// "PMTT" Platform Memory Topology Table
2012 ///
2013 #define EFI_ACPI_5_0_PLATFORM_MEMORY_TOPOLOGY_TABLE_SIGNATURE SIGNATURE_32('P', 'M', 'T', 'T')
2014 
2015 ///
2016 /// "PSDT" Persistent System Description Table
2017 ///
2018 #define EFI_ACPI_5_0_PERSISTENT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('P', 'S', 'D', 'T')
2019 
2020 ///
2021 /// "RASF" ACPI RAS Feature Table
2022 ///
2023 #define EFI_ACPI_5_0_ACPI_RAS_FEATURE_TABLE_SIGNATURE SIGNATURE_32('R', 'A', 'S', 'F')
2024 
2025 ///
2026 /// "RSDT" Root System Description Table
2027 ///
2028 #define EFI_ACPI_5_0_ROOT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('R', 'S', 'D', 'T')
2029 
2030 ///
2031 /// "SBST" Smart Battery Specification Table
2032 ///
2033 #define EFI_ACPI_5_0_SMART_BATTERY_SPECIFICATION_TABLE_SIGNATURE SIGNATURE_32('S', 'B', 'S', 'T')
2034 
2035 ///
2036 /// "SLIT" System Locality Information Table
2037 ///
2038 #define EFI_ACPI_5_0_SYSTEM_LOCALITY_INFORMATION_TABLE_SIGNATURE SIGNATURE_32('S', 'L', 'I', 'T')
2039 
2040 ///
2041 /// "SRAT" System Resource Affinity Table
2042 ///
2043 #define EFI_ACPI_5_0_SYSTEM_RESOURCE_AFFINITY_TABLE_SIGNATURE SIGNATURE_32('S', 'R', 'A', 'T')
2044 
2045 ///
2046 /// "SSDT" Secondary System Description Table
2047 ///
2048 #define EFI_ACPI_5_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('S', 'S', 'D', 'T')
2049 
2050 ///
2051 /// "XSDT" Extended System Description Table
2052 ///
2053 #define EFI_ACPI_5_0_EXTENDED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('X', 'S', 'D', 'T')
2054 
2055 ///
2056 /// "BOOT" MS Simple Boot Spec
2057 ///
2058 #define EFI_ACPI_5_0_SIMPLE_BOOT_FLAG_TABLE_SIGNATURE SIGNATURE_32('B', 'O', 'O', 'T')
2059 
2060 ///
2061 /// "CSRT" MS Core System Resource Table
2062 ///
2063 #define EFI_ACPI_5_0_CORE_SYSTEM_RESOURCE_TABLE_SIGNATURE SIGNATURE_32('C', 'S', 'R', 'T')
2064 
2065 ///
2066 /// "DBG2" MS Debug Port 2 Spec
2067 ///
2068 #define EFI_ACPI_5_0_DEBUG_PORT_2_TABLE_SIGNATURE SIGNATURE_32('D', 'B', 'G', '2')
2069 
2070 ///
2071 /// "DBGP" MS Debug Port Spec
2072 ///
2073 #define EFI_ACPI_5_0_DEBUG_PORT_TABLE_SIGNATURE SIGNATURE_32('D', 'B', 'G', 'P')
2074 
2075 ///
2076 /// "DMAR" DMA Remapping Table
2077 ///
2078 #define EFI_ACPI_5_0_DMA_REMAPPING_TABLE_SIGNATURE SIGNATURE_32('D', 'M', 'A', 'R')
2079 
2080 ///
2081 /// "DRTM" Dynamic Root of Trust for Measurement Table
2082 ///
2083 #define EFI_ACPI_5_0_DYNAMIC_ROOT_OF_TRUST_FOR_MEASUREMENT_TABLE_SIGNATURE SIGNATURE_32('D', 'R', 'T', 'M')
2084 
2085 ///
2086 /// "ETDT" Event Timer Description Table
2087 ///
2088 #define EFI_ACPI_5_0_EVENT_TIMER_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('E', 'T', 'D', 'T')
2089 
2090 ///
2091 /// "HPET" IA-PC High Precision Event Timer Table
2092 ///
2093 #define EFI_ACPI_5_0_HIGH_PRECISION_EVENT_TIMER_TABLE_SIGNATURE SIGNATURE_32('H', 'P', 'E', 'T')
2094 
2095 ///
2096 /// "iBFT" iSCSI Boot Firmware Table
2097 ///
2098 #define EFI_ACPI_5_0_ISCSI_BOOT_FIRMWARE_TABLE_SIGNATURE SIGNATURE_32('i', 'B', 'F', 'T')
2099 
2100 ///
2101 /// "IVRS" I/O Virtualization Reporting Structure
2102 ///
2103 #define EFI_ACPI_5_0_IO_VIRTUALIZATION_REPORTING_STRUCTURE_SIGNATURE SIGNATURE_32('I', 'V', 'R', 'S')
2104 
2105 ///
2106 /// "MCFG" PCI Express Memory Mapped Configuration Space Base Address Description Table
2107 ///
2108 #define EFI_ACPI_5_0_PCI_EXPRESS_MEMORY_MAPPED_CONFIGURATION_SPACE_BASE_ADDRESS_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('M', 'C', 'F', 'G')
2109 
2110 ///
2111 /// "MCHI" Management Controller Host Interface Table
2112 ///
2113 #define EFI_ACPI_5_0_MANAGEMENT_CONTROLLER_HOST_INTERFACE_TABLE_SIGNATURE SIGNATURE_32('M', 'C', 'H', 'I')
2114 
2115 ///
2116 /// "MSDM" MS Data Management Table
2117 ///
2118 #define EFI_ACPI_5_0_DATA_MANAGEMENT_TABLE_SIGNATURE SIGNATURE_32('M', 'S', 'D', 'M')
2119 
2120 ///
2121 /// "PCCT" Platform Communications Channel Table
2122 ///
2123 #define EFI_ACPI_5_0_PLATFORM_COMMUNICATIONS_CHANNEL_TABLE_SIGNATURE SIGNATURE_32('P', 'C', 'C', 'T')
2124 
2125 ///
2126 /// "SLIC" MS Software Licensing Table Specification
2127 ///
2128 #define EFI_ACPI_5_0_SOFTWARE_LICENSING_TABLE_SIGNATURE SIGNATURE_32('S', 'L', 'I', 'C')
2129 
2130 ///
2131 /// "SPCR" Serial Port Console Redirection Table
2132 ///
2133 #define EFI_ACPI_5_0_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'C', 'R')
2134 
2135 ///
2136 /// "SPMI" Server Platform Management Interface Table
2137 ///
2138 #define EFI_ACPI_5_0_SERVER_PLATFORM_MANAGEMENT_INTERFACE_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'M', 'I')
2139 
2140 ///
2141 /// "TCPA" Trusted Computing Platform Alliance Capabilities Table
2142 ///
2143 #define EFI_ACPI_5_0_TRUSTED_COMPUTING_PLATFORM_ALLIANCE_CAPABILITIES_TABLE_SIGNATURE SIGNATURE_32('T', 'C', 'P', 'A')
2144 
2145 ///
2146 /// "TPM2" Trusted Computing Platform 1 Table
2147 ///
2148 #define EFI_ACPI_5_0_TRUSTED_COMPUTING_PLATFORM_2_TABLE_SIGNATURE SIGNATURE_32('T', 'P', 'M', '2')
2149 
2150 ///
2151 /// "UEFI" UEFI ACPI Data Table
2152 ///
2153 #define EFI_ACPI_5_0_UEFI_ACPI_DATA_TABLE_SIGNATURE SIGNATURE_32('U', 'E', 'F', 'I')
2154 
2155 ///
2156 /// "WAET" Windows ACPI Emulated Devices Table
2157 ///
2158 #define EFI_ACPI_5_0_WINDOWS_ACPI_EMULATED_DEVICES_TABLE_SIGNATURE SIGNATURE_32('W', 'A', 'E', 'T')
2159 #define EFI_ACPI_5_0_WINDOWS_ACPI_ENLIGHTENMENT_TABLE_SIGNATURE EFI_ACPI_5_0_WINDOWS_ACPI_EMULATED_DEVICES_TABLE_SIGNATURE
2160 
2161 ///
2162 /// "WDAT" Watchdog Action Table
2163 ///
2164 #define EFI_ACPI_5_0_WATCHDOG_ACTION_TABLE_SIGNATURE SIGNATURE_32('W', 'D', 'A', 'T')
2165 
2166 ///
2167 /// "WDRT" Watchdog Resource Table
2168 ///
2169 #define EFI_ACPI_5_0_WATCHDOG_RESOURCE_TABLE_SIGNATURE SIGNATURE_32('W', 'D', 'R', 'T')
2170 
2171 ///
2172 /// "WPBT" MS Platform Binary Table
2173 ///
2174 #define EFI_ACPI_5_0_PLATFORM_BINARY_TABLE_SIGNATURE SIGNATURE_32('W', 'P', 'B', 'T')
2175 
2176 #pragma pack()
2177 
2178 #endif
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE XPm2CntBlk
Definition: Acpi50.h:336
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE RegisterRegion
Definition: Acpi50.h:1837
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE ErrorStatusAddress
Definition: Acpi50.h:1662
PCI Express Root Port AER Structure Definition.
Definition: Acpi50.h:1583
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE XPm1aEvtBlk
Definition: Acpi50.h:332
UINT8 Flags
Definition: Acpi50.h:1756
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi50.h:1344
Generic Hardware Error Source Structure Definition.
Definition: Acpi50.h:1653
UINT8 DataBitLength
Definition: Acpi50.h:132
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE SleepStatusReg
Definition: Acpi50.h:341
Boot Error Region Block Status Definition.
Definition: Acpi50.h:1398
UINT8 PinConfiguration
Definition: Acpi50.h:71
Embedded Controller Boot Resources Table (ECDT) The table is followed by a null terminated ASCII stri...
Definition: Acpi50.h:711
ACPI 4.0 definitions from the ACPI Specification Revision 4.0a April 5, 2010.
UINT8 Flags
Definition: Acpi50.h:1435
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi50.h:1767
UINT64 ExitBootServicesEntry
Timer value logged at the point when the OS loader calls the ExitBootServices function for UEFI compa...
Definition: Acpi50.h:1261
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE DoorbellRegister
Definition: Acpi50.h:1893
UINT32 ErrorDataLength
Definition: Acpi50.h:1436
FPDT Performance Table header.
Definition: Acpi50.h:1205
Common table header, this prefaces all ACPI tables, including FACS, but excluding the RSD PTR structu...
Definition: Acpi50.h:257
Memory Affinity Structure Definition.
Definition: Acpi50.h:770
GIC Structure.
Definition: Acpi50.h:659
Boot Error Region Definition.
Definition: Acpi50.h:1410
Platform Communications Channel Table (PCCT)
Definition: Acpi50.h:1855
IA-32 Architecture Corrected Machine Check Structure Definition.
Definition: Acpi50.h:1555
UINT8 Phase
Definition: Acpi50.h:133
FPDT Performance Record header.
Definition: Acpi50.h:1196
UINT32_t Reserved[2]
Must be zero.
Definition: pxe_api.h:76
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE XPm1bEvtBlk
Definition: Acpi50.h:333
UINT8 ImageType
1-byte enumerated type field indicating format of the image.
Definition: Acpi50.h:1119
Processor Local APIC Structure Definition.
Definition: Acpi50.h:492
PACKED struct @564 EFI_ACPI_SERIAL_BUS_RESOURCE_UART_DESCRIPTOR
Serial Bus Resource Descriptor (UART)
Firmware ACPI Control Structure.
Definition: Acpi50.h:403
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi50.h:1103
Hardware Error Notification Structure Definition.
Definition: Acpi50.h:1540
UINT8 SerialLinesEnabled
Definition: Acpi50.h:188
HEST - Hardware Error Source Table.
Definition: Acpi50.h:1449
UINT64 FullResume
Timer recorded at the end of BIOS S3 resume, just prior to handoff to the OS waking vector.
Definition: Acpi50.h:1313
UINT16 VendorDataLength
Definition: Acpi50.h:78
EFI_ACPI_5_0_FPDT_PERFORMANCE_RECORD_HEADER Header
Definition: Acpi50.h:1238
EFI_ACPI_5_0_FPDT_PERFORMANCE_TABLE_HEADER Header
Definition: Acpi50.h:1279
PACKED struct @559 EFI_ACPI_FIXED_DMA_DESCRIPTOR
Generic DMA Descriptor.
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE SleepControlReg
Definition: Acpi50.h:340
UINT8 ResourceSourceIndex
Definition: Acpi50.h:75
EFI_ACPI_5_0_PMMT_COMMON_MEMORY_AGGREGATOR_DEVICE_STRUCTURE Header
Definition: Acpi50.h:1065
Platform Interrupt Sources Structure.
Definition: Acpi50.h:614
unsigned int UINT32
Definition: ProcessorBind.h:99
UINT8 DmaTransferWidth
Definition: Acpi50.h:59
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE XPm1bCntBlk
Definition: Acpi50.h:335
UINT64 Mask
Definition: Acpi50.h:1760
UINT8 Polarity
Definition: Acpi50.h:134
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi50.h:695
EFI_ACPI_5_0_FPDT_PERFORMANCE_RECORD_HEADER Header
Definition: Acpi50.h:1326
MPST Platform Communication Channel Shared Memory Region definition.
Definition: Acpi50.h:954
EFI_ACPI_5_0_HARDWARE_ERROR_NOTIFICATION_STRUCTURE NotificationStructure
Definition: Acpi50.h:1563
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi50.h:288
UINT64 ExitBootServicesExit
Timer value logged at the point just prior to when the OS loader gaining control back from calls the ...
Definition: Acpi50.h:1267
#define PACKED
Definition: Base.h:210
EINJ Injection Instruction Entry.
Definition: Acpi50.h:1832
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE EcData
Definition: Acpi50.h:714
MPST Memory Power State Characteristics Table.
Definition: Acpi50.h:1012
Common Memory Aggregator Device Structure.
Definition: Acpi50.h:1046
UINT64 SuspendEnd
Timer value recorded at the final firmware write to SLP_TYP (or other mechanism) used to trigger hard...
Definition: Acpi50.h:1337
unsigned char UINT8
IA-32 Architecture Machine Check Bank Structure Definition.
Definition: Acpi50.h:1496
UINT64 ResetEnd
Timer value logged at the beginning of firmware image execution.
Definition: Acpi50.h:1244
UINT32 ConnectionSpeed
Definition: Acpi50.h:115
PACKED union @540 ACPI_SMALL_RESOURCE_HEADER
UINT64 SuspendStart
Timer value recorded at the OS write to SLP_TYP upon entry to S3.
Definition: Acpi50.h:1331
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE XPmTmrBlk
Definition: Acpi50.h:337
Fixed ACPI Description Table Structure (FADT)
Definition: Acpi50.h:287
Interrupt Source Override Structure.
Definition: Acpi50.h:520
EFI_ACPI_5_0_FPDT_PERFORMANCE_RECORD_HEADER Header
Definition: Acpi50.h:1214
UINT8 ValidationBits
Definition: Acpi50.h:1434
PACKED struct @541 ACPI_LARGE_RESOURCE_HEADER
UINT8 InjectionAction
Definition: Acpi50.h:1833
Generic Communications Channel Shared Memory Region.
Definition: Acpi50.h:1905
Processor Local x2APIC Affinity Structure Definition.
Definition: Acpi50.h:794
Non-Maskable Interrupt Source Structure.
Definition: Acpi50.h:556
UINT16 RxFIFO
Definition: Acpi50.h:185
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE RegisterRegion
Definition: Acpi50.h:1758
Generic Communications Subspace Structure.
Definition: Acpi50.h:1887
GIC Distributor Structure.
Definition: Acpi50.h:681
Maximum Proximity Domain Information Structure Definition.
Definition: Acpi50.h:867
UINT8 Instruction
Definition: Acpi50.h:1755
UINT8 Reserved0
Definition: Acpi50.h:1836
Generic Timer Description Table definition.
Definition: Acpi50.h:1350
EINJ - Error Injection Table.
Definition: Acpi50.h:1766
UINT64 S3PerformanceTablePointer
64-bit processor-relative physical address of the S3 Performance Table.
Definition: Acpi50.h:1231
IA-32 Architecture Machine Check Exception Structure Definition.
Definition: Acpi50.h:1479
Local x2APIC NMI Structure.
Definition: Acpi50.h:647
UINT64 OsLoaderLoadImageStart
Timer value logged just prior to loading the OS boot loader into memory.
Definition: Acpi50.h:1249
UINT16 SlaveAddress
Definition: Acpi50.h:116
UINT8 SerializationAction
Definition: Acpi50.h:1754
Root System Description Pointer Structure.
Definition: Acpi50.h:236
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi50.h:1034
UINT64 AverageResume
Average timer value of all resume cycles logged since the last full boot sequence,...
Definition: Acpi50.h:1319
ERST Serialization Instruction Entry.
Definition: Acpi50.h:1753
UINT8 SerialBusType
Definition: Acpi50.h:91
Local APIC NMI Structure.
Definition: Acpi50.h:566
Multiple APIC Description Table header definition.
Definition: Acpi50.h:449
Boot Graphics Resource Table definition.
Definition: Acpi50.h:1102
UINT32 ImageOffsetY
A 4-byte (32-bit) unsigned long describing the display Y-offset of the boot image.
Definition: Acpi50.h:1136
ACPI RASF Parameter Block structure for PATROL_SCRUB.
Definition: Acpi50.h:917
EFI_ACPI_5_0_FPDT_PERFORMANCE_RECORD_HEADER Header
Definition: Acpi50.h:1226
ERST - Error Record Serialization Table.
Definition: Acpi50.h:1681
UINT16 Version
2-bytes (16 bit) version ID.
Definition: Acpi50.h:1107
EFI_ACPI_5_0_FPDT_PERFORMANCE_TABLE_HEADER Header
Definition: Acpi50.h:1294
EFI_ACPI_5_0_ERROR_BLOCK_STATUS BlockStatus
Definition: Acpi50.h:1671
Memory Topology Table definition.
Definition: Acpi50.h:1033
unsigned short UINT16
UINT64 BootPerformanceTablePointer
64-bit processor-relative physical address of the Basic Boot Performance Table.
Definition: Acpi50.h:1219
Corrected Platform Error Polling Table (CPEP)
Definition: Acpi50.h:822
UINT16 Revision
Definition: Acpi50.h:1433
UINT16 DmaChannel
Definition: Acpi50.h:58
PCI Express Bridge AER Structure Definition.
Definition: Acpi50.h:1628
UINT16 ResourceSourceNameOffset
Definition: Acpi50.h:76
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE XPm1aCntBlk
Definition: Acpi50.h:334
System Locality Distance Information Table (SLIT).
Definition: Acpi50.h:809
UINT8 Reserved0
Definition: Acpi50.h:1757
UINT32 PerformanceInterruptGsiv
Definition: Acpi50.h:667
FPDT S3 Performance Table Pointer Record Structure.
Definition: Acpi50.h:1225
The common ACPI description table header.
Definition: Acpi10.h:30
MemoryController Memory Aggregator Device Structure.
Definition: Acpi50.h:1074
UINT16 DebounceTimeout
Definition: Acpi50.h:73
EINJ Trigger Action Table.
Definition: Acpi50.h:1845
Memory Power State Table definition.
Definition: Acpi50.h:938
Generic Error Data Entry Definition.
Definition: Acpi50.h:1430
EFI_ACPI_5_0_PCCT_GENERIC_SHARED_MEMORY_REGION_COMMAND Command
Definition: Acpi50.h:1922
unsigned long long UINT64
Definition: ProcessorBind.h:97
UINT16 TypeDataLength
Definition: Acpi50.h:95
IA-32 Architecture NMI Error Structure Definition.
Definition: Acpi50.h:1571
Processor Local x2APIC Structure Definition.
Definition: Acpi50.h:635
IO SAPIC Structure.
Definition: Acpi50.h:587
PACKED struct @561 EFI_ACPI_SERIAL_BUS_RESOURCE_DESCRIPTOR
Serial Bus Resource Descriptor (Generic)
EFI_ACPI_5_0_FPDT_PERFORMANCE_RECORD_HEADER Header
Definition: Acpi50.h:1304
UINT32 ResumeCount
A count of the number of S3 resume cycles since the last full boot sequence.
Definition: Acpi50.h:1308
Local SAPIC Structure This struct followed by a null-terminated ASCII string - ACPI Processor UID Str...
Definition: Acpi50.h:600
UINT64 OsLoaderStartImageStart
Timer value logged just prior to launching the previously loaded OS boot loader image.
Definition: Acpi50.h:1255
UINT16 DeviceSelection
Definition: Acpi50.h:135
Local APIC Address Override Structure.
Definition: Acpi50.h:577
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi50.h:939
UINT8 Status
1-byte status field indicating current status about the table.
Definition: Acpi50.h:1113
UINT64 ImageAddress
8-byte (64 bit) physical address pointing to the firmware's in-memory copy of the image bitmap.
Definition: Acpi50.h:1124
Firmware Performance Record Table definition.
Definition: Acpi50.h:1343
Smart Battery Description Table (SBST)
Definition: Acpi50.h:694
FILE_LICENCE(BSD2_PATENT)
System Resource Affinity Table (SRAT).
Definition: Acpi50.h:728
PCI Express Device AER Structure Definition.
Definition: Acpi50.h:1606
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi50.h:880
FPDT Firmware Basic Boot Performance Record Structure.
Definition: Acpi50.h:1237
Generic Error Status Definition.
Definition: Acpi50.h:1670
DIMM Memory Aggregator Device Structure.
Definition: Acpi50.h:1091
PCC Subspace Structure Header.
Definition: Acpi50.h:1879
IO APIC Structure.
Definition: Acpi50.h:508
UINT32 ErrorSeverity
Definition: Acpi50.h:1432
EFI_ACPI_5_0_HARDWARE_ERROR_NOTIFICATION_STRUCTURE NotificationStructure
Definition: Acpi50.h:1663
Processor Local APIC/SAPIC Affinity Structure Definition.
Definition: Acpi50.h:751
UINT64 Value
Definition: Acpi50.h:1838
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE EcControl
Definition: Acpi50.h:713
UINT16 TypeSpecificFlags
Definition: Acpi50.h:93
EFI_ACPI_5_0_PCCT_GENERIC_SHARED_MEMORY_REGION_STATUS Status
Definition: Acpi50.h:1923
UINT16 PinTableOffset
Definition: Acpi50.h:74
PACKED struct @562 EFI_ACPI_SERIAL_BUS_RESOURCE_I2C_DESCRIPTOR
Serial Bus Resource Descriptor (I2C)
Platform Interrupt Sources Structure Definition.
Definition: Acpi50.h:532
UINT32 ImageOffsetX
A 4-byte (32-bit) unsigned long describing the display X-offset of the boot image.
Definition: Acpi50.h:1130
FPDT Firmware Basic Boot Performance Pointer Record Structure.
Definition: Acpi50.h:1213
EFI_ACPI_5_0_ERROR_BLOCK_STATUS BlockStatus
Definition: Acpi50.h:1411
Socket Memory Aggregator Device Structure.
Definition: Acpi50.h:1064
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE XGpe0Blk
Definition: Acpi50.h:338
UINT8 RevisionId
Definition: Acpi50.h:67
UINT16 VendorDataOffset
Definition: Acpi50.h:77
UINT8 Parity
Definition: Acpi50.h:187
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi50.h:1450
PACKED struct @560 EFI_ACPI_GPIO_CONNECTION_DESCRIPTOR
GPIO Connection Descriptor.
UINT8 ConnectionType
Definition: Acpi50.h:68
UINT8 Instruction
Definition: Acpi50.h:1834
ACPI RASF Platform Communication Channel Shared Memory Region definition.
Definition: Acpi50.h:892
UINT32 DefaultBaudRate
Definition: Acpi50.h:184
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE ResetReg
Definition: Acpi50.h:327
UINT8 TypeSpecificRevisionId
Definition: Acpi50.h:94
EFI_ACPI_5_0_PMMT_COMMON_MEMORY_AGGREGATOR_DEVICE_STRUCTURE Header
Definition: Acpi50.h:1075
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi50.h:1385
UINT16 InterruptFlags
Definition: Acpi50.h:70
PACKED struct @563 EFI_ACPI_SERIAL_BUS_RESOURCE_SPI_DESCRIPTOR
Serial Bus Resource Descriptor (SPI)
Hardware Error Notification Configuration Write Enable Structure Definition.
Definition: Acpi50.h:1527
UINT16 OutputDriveStrength
Definition: Acpi50.h:72
ACPI RAS Feature Table definition.
Definition: Acpi50.h:879
UINT16 TxFIFO
Definition: Acpi50.h:186
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE XGpe1Blk
Definition: Acpi50.h:339
FPDT Basic S3 Suspend Performance Record.
Definition: Acpi50.h:1325
Corrected Platform Error Polling Processor Structure Definition.
Definition: Acpi50.h:840
FILE_SECBOOT(PERMITTED)
UINT16 GeneralFlags
Definition: Acpi50.h:69
MPST Memory Power Node Table.
Definition: Acpi50.h:982
Boot Error Record Table (BERT)
Definition: Acpi50.h:1384
UINT8 Flags
Definition: Acpi50.h:1835
ACPI 5.0 Generic Address Space definition.
Definition: Acpi50.h:201
FPDT Basic S3 Resume Performance Record.
Definition: Acpi50.h:1303
UINT16 DmaRequestLine
Definition: Acpi50.h:57
UINT64 Mask
Definition: Acpi50.h:1839
EFI_ACPI_DESCRIPTION_HEADER Header
Definition: Acpi50.h:1351
Maximum System Characteristics Table (MSCT)
Definition: Acpi50.h:851
UINT64 Value
Definition: Acpi50.h:1759
EFI_ACPI_5_0_HARDWARE_ERROR_NOTIFICATION_CONFIGURATION_WRITE_ENABLE_STRUCTURE ConfigurationWriteEnable
Definition: Acpi50.h:1543
EFI_ACPI_5_0_PMMT_COMMON_MEMORY_AGGREGATOR_DEVICE_STRUCTURE Header
Definition: Acpi50.h:1092
ACPI_SMALL_RESOURCE_HEADER Header
Definition: Acpi50.h:56