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