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
14FILE_LICENCE ( BSD2_PATENT );
15FILE_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///
55typedef PACKED struct {
61
62///
63/// GPIO Connection Descriptor
64///
65typedef 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///
87typedef 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///
106typedef PACKED struct {
118
119///
120/// Serial Bus Resource Descriptor (SPI)
121///
122typedef 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///
175typedef 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///
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///
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///
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///
287typedef struct {
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///
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///
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///
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///
516
517///
518/// Interrupt Source Override Structure
519///
528
529///
530/// Platform Interrupt Sources Structure Definition
531///
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///
562
563///
564/// Local APIC NMI Structure
565///
573
574///
575/// Local APIC Address Override Structure
576///
583
584///
585/// IO SAPIC Structure
586///
595
596///
597/// Local SAPIC Structure
598/// This struct followed by a null-terminated ASCII string - ACPI Processor UID String
599///
610
611///
612/// Platform Interrupt Sources Structure
613///
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///
643
644///
645/// Local x2APIC NMI Structure
646///
655
656///
657/// GIC Structure
658///
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///
690
691///
692/// Smart Battery Description Table (SBST)
693///
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///
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///
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///
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///
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///
804
805///
806/// System Locality Distance Information Table (SLIT).
807/// The rest of the table is a matrix.
808///
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///
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///
847
848///
849/// Maximum System Characteristics Table (MSCT)
850///
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///
875
876///
877/// ACPI RAS Feature Table definition.
878///
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///
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///
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///
938typedef 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///
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///
986
987typedef 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
1008
1009///
1010/// MPST Memory Power State Characteristics Table
1011///
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
1029
1030///
1031/// Memory Topology Table definition.
1032///
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///
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///
1064typedef struct {
1068 // EFI_ACPI_5_0_PMMT_MEMORY_CONTROLLER_MEMORY_AGGREGATOR_DEVICE_STRUCTURE MemoryController[];
1070
1071///
1072/// MemoryController Memory Aggregator Device Structure.
1073///
1087
1088///
1089/// DIMM Memory Aggregator Device Structure.
1090///
1098
1099///
1100/// Boot Graphics Resource Table definition.
1101///
1102typedef 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///
1201
1202///
1203/// FPDT Performance Table header
1204///
1209
1210///
1211/// FPDT Firmware Basic Boot Performance Pointer Record Structure
1212///
1213typedef 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///
1225typedef 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///
1237typedef 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//
1278typedef 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//
1293typedef struct {
1295 //
1296 // one or more Performance Records.
1297 //
1299
1300///
1301/// FPDT Basic S3 Resume Performance Record
1302///
1303typedef 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///
1325typedef 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///
1346
1347///
1348/// Generic Timer Description Table definition.
1349///
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///
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///
1406
1407///
1408/// Boot Error Region Definition
1409///
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///
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///
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///
1492
1493///
1494/// IA-32 Architecture Machine Check Bank Structure Definition
1495///
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///
1536
1537///
1538/// Hardware Error Notification Structure Definition
1539///
1551
1552///
1553/// IA-32 Architecture Corrected Machine Check Structure Definition
1554///
1567
1568///
1569/// IA-32 Architecture NMI Error Structure Definition
1570///
1579
1580///
1581/// PCI Express Root Port AER Structure Definition
1582///
1602
1603///
1604/// PCI Express Device AER Structure Definition
1605///
1624
1625///
1626/// PCI Express Bridge AER Structure Definition
1627///
1649
1650///
1651/// Generic Hardware Error Source Structure Definition
1652///
1666
1667///
1668/// Generic Error Status Definition
1669///
1677
1678///
1679/// ERST - Error Record Serialization Table
1680///
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///
1762
1763///
1764/// EINJ - Error Injection Table
1765///
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///
1841
1842///
1843/// EINJ Trigger Action Table
1844///
1851
1852///
1853/// Platform Communications Channel Table (PCCT)
1854///
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///
1883
1884///
1885/// Generic Communications Subspace Structure
1886///
1900
1901///
1902/// Generic Communications Channel Shared Memory Region
1903///
1904
1910
1919
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
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:156
UINT8 RevisionId
Definition Acpi30.h:61
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:133
UINT16 GeneralFlags
Definition Acpi50.h:69
UINT16 SlaveAddress
Definition Acpi50.h:116
UINT16 DmaRequestLine
Definition Acpi50.h:57
UINT16 DebounceTimeout
Definition Acpi50.h:73
UINT16 DmaChannel
Definition Acpi50.h:58
PACKED struct @160063041306000003132001041110215236127323155114 EFI_ACPI_SERIAL_BUS_RESOURCE_SPI_DESCRIPTOR
Serial Bus Resource Descriptor (SPI)
UINT16 VendorDataOffset
Definition Acpi50.h:77
PACKED struct @262120144254131362212070135262171104025017276112 EFI_ACPI_SERIAL_BUS_RESOURCE_UART_DESCRIPTOR
Serial Bus Resource Descriptor (UART)
UINT16 VendorDataLength
Definition Acpi50.h:78
UINT16 TypeSpecificFlags
Definition Acpi50.h:93
UINT16 InterruptFlags
Definition Acpi50.h:70
UINT8 Parity
Definition Acpi50.h:187
PACKED struct @061245322066312163201241050107264177264301356215 EFI_ACPI_SERIAL_BUS_RESOURCE_DESCRIPTOR
Serial Bus Resource Descriptor (Generic)
UINT8 ConnectionType
Definition Acpi50.h:68
UINT16 ResourceSourceNameOffset
Definition Acpi50.h:76
UINT8 SerialBusType
Definition Acpi50.h:91
UINT8 DataBitLength
Definition Acpi50.h:132
UINT32 ConnectionSpeed
Definition Acpi50.h:115
UINT8 PinConfiguration
Definition Acpi50.h:71
UINT8 TypeSpecificRevisionId
Definition Acpi50.h:94
UINT16 TypeDataLength
Definition Acpi50.h:95
UINT16 RxFIFO
Definition Acpi50.h:185
UINT8 Polarity
Definition Acpi50.h:134
UINT8 DmaTransferWidth
Definition Acpi50.h:59
UINT16 OutputDriveStrength
Definition Acpi50.h:72
PACKED struct @135123222012222252161030066203365241231212246324 EFI_ACPI_FIXED_DMA_DESCRIPTOR
Generic DMA Descriptor.
UINT8 SerialLinesEnabled
Definition Acpi50.h:188
UINT32 DefaultBaudRate
Definition Acpi50.h:184
UINT16 DeviceSelection
Definition Acpi50.h:135
PACKED struct @144054025330364210311133237000165077345305112134 EFI_ACPI_SERIAL_BUS_RESOURCE_I2C_DESCRIPTOR
Serial Bus Resource Descriptor (I2C)
UINT16 PinTableOffset
Definition Acpi50.h:74
UINT16 TxFIFO
Definition Acpi50.h:186
UINT8 ResourceSourceIndex
Definition Acpi50.h:75
#define PACKED
Definition Base.h:210
#define FILE_LICENCE(_licence)
Declare a particular licence as applying to a file.
Definition compiler.h:896
#define FILE_SECBOOT(_status)
Declare a file's UEFI Secure Boot permission status.
Definition compiler.h:926
Boot Error Record Table (BERT)
Definition Acpi50.h:1384
EFI_ACPI_DESCRIPTION_HEADER Header
Definition Acpi50.h:1385
Boot Error Region Definition.
Definition Acpi50.h:1410
EFI_ACPI_5_0_ERROR_BLOCK_STATUS BlockStatus
Definition Acpi50.h:1411
Boot Graphics Resource Table definition.
Definition Acpi50.h:1102
EFI_ACPI_DESCRIPTION_HEADER Header
Definition Acpi50.h:1103
UINT32 ImageOffsetY
A 4-byte (32-bit) unsigned long describing the display Y-offset of the boot image.
Definition Acpi50.h:1136
UINT8 ImageType
1-byte enumerated type field indicating format of the image.
Definition Acpi50.h:1119
UINT16 Version
2-bytes (16 bit) version ID.
Definition Acpi50.h:1107
UINT64 ImageAddress
8-byte (64 bit) physical address pointing to the firmware's in-memory copy of the image bitmap.
Definition Acpi50.h:1124
UINT8 Status
1-byte status field indicating current status about the table.
Definition Acpi50.h:1113
UINT32 ImageOffsetX
A 4-byte (32-bit) unsigned long describing the display X-offset of the boot image.
Definition Acpi50.h:1130
Common table header, this prefaces all ACPI tables, including FACS, but excluding the RSD PTR structu...
Definition Acpi50.h:257
Corrected Platform Error Polling Table (CPEP)
Definition Acpi50.h:822
Corrected Platform Error Polling Processor Structure Definition.
Definition Acpi50.h:840
EINJ Injection Instruction Entry.
Definition Acpi50.h:1832
UINT8 Instruction
Definition Acpi50.h:1834
UINT8 Flags
Definition Acpi50.h:1835
UINT8 Reserved0
Definition Acpi50.h:1836
UINT64 Value
Definition Acpi50.h:1838
UINT8 InjectionAction
Definition Acpi50.h:1833
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE RegisterRegion
Definition Acpi50.h:1837
UINT64 Mask
Definition Acpi50.h:1839
EINJ Trigger Action Table.
Definition Acpi50.h:1845
Embedded Controller Boot Resources Table (ECDT) The table is followed by a null terminated ASCII stri...
Definition Acpi50.h:711
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE EcControl
Definition Acpi50.h:713
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE EcData
Definition Acpi50.h:714
Boot Error Region Block Status Definition.
Definition Acpi50.h:1398
EINJ - Error Injection Table.
Definition Acpi50.h:1766
EFI_ACPI_DESCRIPTION_HEADER Header
Definition Acpi50.h:1767
ERST - Error Record Serialization Table.
Definition Acpi50.h:1681
ERST Serialization Instruction Entry.
Definition Acpi50.h:1753
UINT8 SerializationAction
Definition Acpi50.h:1754
UINT8 Reserved0
Definition Acpi50.h:1757
UINT8 Flags
Definition Acpi50.h:1756
UINT64 Mask
Definition Acpi50.h:1760
UINT64 Value
Definition Acpi50.h:1759
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE RegisterRegion
Definition Acpi50.h:1758
UINT8 Instruction
Definition Acpi50.h:1755
Firmware ACPI Control Structure.
Definition Acpi50.h:403
Firmware Performance Record Table definition.
Definition Acpi50.h:1343
EFI_ACPI_DESCRIPTION_HEADER Header
Definition Acpi50.h:1344
Fixed ACPI Description Table Structure (FADT)
Definition Acpi50.h:287
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE XGpe0Blk
Definition Acpi50.h:338
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE XPm1aEvtBlk
Definition Acpi50.h:332
EFI_ACPI_DESCRIPTION_HEADER Header
Definition Acpi50.h:288
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE XPmTmrBlk
Definition Acpi50.h:337
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE XPm2CntBlk
Definition Acpi50.h:336
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE XPm1aCntBlk
Definition Acpi50.h:334
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE SleepControlReg
Definition Acpi50.h:340
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE XPm1bCntBlk
Definition Acpi50.h:335
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE SleepStatusReg
Definition Acpi50.h:341
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE XPm1bEvtBlk
Definition Acpi50.h:333
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE ResetReg
Definition Acpi50.h:327
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE XGpe1Blk
Definition Acpi50.h:339
FPDT Firmware Basic Boot Performance Pointer Record Structure.
Definition Acpi50.h:1213
EFI_ACPI_5_0_FPDT_PERFORMANCE_RECORD_HEADER Header
Definition Acpi50.h:1214
UINT64 BootPerformanceTablePointer
64-bit processor-relative physical address of the Basic Boot Performance Table.
Definition Acpi50.h:1219
FPDT Firmware Basic Boot Performance Record Structure.
Definition Acpi50.h:1237
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
UINT64 ExitBootServicesEntry
Timer value logged at the point when the OS loader calls the ExitBootServices function for UEFI compa...
Definition Acpi50.h:1261
UINT64 ResetEnd
Timer value logged at the beginning of firmware image execution.
Definition Acpi50.h:1244
EFI_ACPI_5_0_FPDT_PERFORMANCE_RECORD_HEADER Header
Definition Acpi50.h:1238
UINT64 OsLoaderLoadImageStart
Timer value logged just prior to loading the OS boot loader into memory.
Definition Acpi50.h:1249
UINT64 OsLoaderStartImageStart
Timer value logged just prior to launching the previously loaded OS boot loader image.
Definition Acpi50.h:1255
EFI_ACPI_5_0_FPDT_PERFORMANCE_TABLE_HEADER Header
Definition Acpi50.h:1279
EFI_ACPI_5_0_FPDT_PERFORMANCE_TABLE_HEADER Header
Definition Acpi50.h:1294
FPDT Performance Record header.
Definition Acpi50.h:1196
FPDT Performance Table header.
Definition Acpi50.h:1205
FPDT S3 Performance Table Pointer Record Structure.
Definition Acpi50.h:1225
EFI_ACPI_5_0_FPDT_PERFORMANCE_RECORD_HEADER Header
Definition Acpi50.h:1226
UINT64 S3PerformanceTablePointer
64-bit processor-relative physical address of the S3 Performance Table.
Definition Acpi50.h:1231
FPDT Basic S3 Resume Performance Record.
Definition Acpi50.h:1303
EFI_ACPI_5_0_FPDT_PERFORMANCE_RECORD_HEADER Header
Definition Acpi50.h:1304
UINT64 FullResume
Timer recorded at the end of BIOS S3 resume, just prior to handoff to the OS waking vector.
Definition Acpi50.h:1313
UINT64 AverageResume
Average timer value of all resume cycles logged since the last full boot sequence,...
Definition Acpi50.h:1319
UINT32 ResumeCount
A count of the number of S3 resume cycles since the last full boot sequence.
Definition Acpi50.h:1308
FPDT Basic S3 Suspend Performance Record.
Definition Acpi50.h:1325
EFI_ACPI_5_0_FPDT_PERFORMANCE_RECORD_HEADER Header
Definition Acpi50.h:1326
UINT64 SuspendEnd
Timer value recorded at the final firmware write to SLP_TYP (or other mechanism) used to trigger hard...
Definition Acpi50.h:1337
UINT64 SuspendStart
Timer value recorded at the OS write to SLP_TYP upon entry to S3.
Definition Acpi50.h:1331
ACPI 5.0 Generic Address Space definition.
Definition Acpi50.h:201
Generic Error Data Entry Definition.
Definition Acpi50.h:1430
UINT8 FruText[20]
Definition Acpi50.h:1438
UINT8 Flags
Definition Acpi50.h:1435
UINT32 ErrorSeverity
Definition Acpi50.h:1432
UINT8 ValidationBits
Definition Acpi50.h:1434
UINT8 FruId[16]
Definition Acpi50.h:1437
UINT8 SectionType[16]
Definition Acpi50.h:1431
UINT32 ErrorDataLength
Definition Acpi50.h:1436
UINT16 Revision
Definition Acpi50.h:1433
Generic Error Status Definition.
Definition Acpi50.h:1670
EFI_ACPI_5_0_ERROR_BLOCK_STATUS BlockStatus
Definition Acpi50.h:1671
Generic Hardware Error Source Structure Definition.
Definition Acpi50.h:1653
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE ErrorStatusAddress
Definition Acpi50.h:1662
EFI_ACPI_5_0_HARDWARE_ERROR_NOTIFICATION_STRUCTURE NotificationStructure
Definition Acpi50.h:1663
Generic Timer Description Table definition.
Definition Acpi50.h:1350
EFI_ACPI_DESCRIPTION_HEADER Header
Definition Acpi50.h:1351
GIC Distributor Structure.
Definition Acpi50.h:681
Hardware Error Notification Configuration Write Enable Structure Definition.
Definition Acpi50.h:1527
Hardware Error Notification Structure Definition.
Definition Acpi50.h:1540
EFI_ACPI_5_0_HARDWARE_ERROR_NOTIFICATION_CONFIGURATION_WRITE_ENABLE_STRUCTURE ConfigurationWriteEnable
Definition Acpi50.h:1543
HEST - Hardware Error Source Table.
Definition Acpi50.h:1449
IA-32 Architecture Corrected Machine Check Structure Definition.
Definition Acpi50.h:1555
EFI_ACPI_5_0_HARDWARE_ERROR_NOTIFICATION_STRUCTURE NotificationStructure
Definition Acpi50.h:1563
IA-32 Architecture Machine Check Bank Structure Definition.
Definition Acpi50.h:1496
IA-32 Architecture Machine Check Exception Structure Definition.
Definition Acpi50.h:1479
IA-32 Architecture NMI Error Structure Definition.
Definition Acpi50.h:1571
Interrupt Source Override Structure.
Definition Acpi50.h:520
IO APIC Structure.
Definition Acpi50.h:508
IO SAPIC Structure.
Definition Acpi50.h:587
Local APIC Address Override Structure.
Definition Acpi50.h:577
Local APIC NMI Structure.
Definition Acpi50.h:566
Local x2APIC NMI Structure.
Definition Acpi50.h:647
Maximum Proximity Domain Information Structure Definition.
Definition Acpi50.h:867
Maximum System Characteristics Table (MSCT)
Definition Acpi50.h:851
Memory Affinity Structure Definition.
Definition Acpi50.h:770
Memory Power State Table definition.
Definition Acpi50.h:938
EFI_ACPI_DESCRIPTION_HEADER Header
Definition Acpi50.h:939
Memory Topology Table definition.
Definition Acpi50.h:1033
EFI_ACPI_DESCRIPTION_HEADER Header
Definition Acpi50.h:1034
MPST Memory Power State Characteristics Table.
Definition Acpi50.h:1012
MPST Memory Power Node Table.
Definition Acpi50.h:982
MPST Platform Communication Channel Shared Memory Region definition.
Definition Acpi50.h:954
Multiple APIC Description Table header definition.
Definition Acpi50.h:449
Non-Maskable Interrupt Source Structure.
Definition Acpi50.h:556
Generic Communications Channel Shared Memory Region.
Definition Acpi50.h:1905
EFI_ACPI_5_0_PCCT_GENERIC_SHARED_MEMORY_REGION_COMMAND Command
Definition Acpi50.h:1922
EFI_ACPI_5_0_PCCT_GENERIC_SHARED_MEMORY_REGION_STATUS Status
Definition Acpi50.h:1923
Generic Communications Subspace Structure.
Definition Acpi50.h:1887
EFI_ACPI_5_0_GENERIC_ADDRESS_STRUCTURE DoorbellRegister
Definition Acpi50.h:1893
PCC Subspace Structure Header.
Definition Acpi50.h:1879
PCI Express Bridge AER Structure Definition.
Definition Acpi50.h:1628
PCI Express Device AER Structure Definition.
Definition Acpi50.h:1606
PCI Express Root Port AER Structure Definition.
Definition Acpi50.h:1583
Platform Communications Channel Table (PCCT)
Definition Acpi50.h:1855
Platform Interrupt Sources Structure Definition.
Definition Acpi50.h:532
Platform Interrupt Sources Structure.
Definition Acpi50.h:614
Common Memory Aggregator Device Structure.
Definition Acpi50.h:1046
DIMM Memory Aggregator Device Structure.
Definition Acpi50.h:1091
EFI_ACPI_5_0_PMMT_COMMON_MEMORY_AGGREGATOR_DEVICE_STRUCTURE Header
Definition Acpi50.h:1092
MemoryController Memory Aggregator Device Structure.
Definition Acpi50.h:1074
EFI_ACPI_5_0_PMMT_COMMON_MEMORY_AGGREGATOR_DEVICE_STRUCTURE Header
Definition Acpi50.h:1075
Socket Memory Aggregator Device Structure.
Definition Acpi50.h:1064
EFI_ACPI_5_0_PMMT_COMMON_MEMORY_AGGREGATOR_DEVICE_STRUCTURE Header
Definition Acpi50.h:1065
Processor Local APIC/SAPIC Affinity Structure Definition.
Definition Acpi50.h:751
Processor Local APIC Structure Definition.
Definition Acpi50.h:492
Local SAPIC Structure This struct followed by a null-terminated ASCII string - ACPI Processor UID Str...
Definition Acpi50.h:600
Processor Local x2APIC Affinity Structure Definition.
Definition Acpi50.h:794
Processor Local x2APIC Structure Definition.
Definition Acpi50.h:635
ACPI RASF Parameter Block structure for PATROL_SCRUB.
Definition Acpi50.h:917
ACPI RASF Platform Communication Channel Shared Memory Region definition.
Definition Acpi50.h:892
ACPI RAS Feature Table definition.
Definition Acpi50.h:879
UINT8 PlatformCommunicationChannelIdentifier[12]
Definition Acpi50.h:881
EFI_ACPI_DESCRIPTION_HEADER Header
Definition Acpi50.h:880
Root System Description Pointer Structure.
Definition Acpi50.h:236
Smart Battery Description Table (SBST)
Definition Acpi50.h:694
EFI_ACPI_DESCRIPTION_HEADER Header
Definition Acpi50.h:695
System Locality Distance Information Table (SLIT).
Definition Acpi50.h:809
System Resource Affinity Table (SRAT).
Definition Acpi50.h:728
The common ACPI description table header.
Definition Acpi10.h:30