XenevaOS
Loading...
Searching...
No Matches
Acpi20.h
Go to the documentation of this file.
1
14#ifndef _ACPI_2_0_H_
15#define _ACPI_2_0_H_
16
18
19//
20// Define for Desriptor
21//
22#define ACPI_LARGE_GENERIC_REGISTER_DESCRIPTOR_NAME 0x02
23
24#define ACPI_GENERIC_REGISTER_DESCRIPTOR 0x82
25
26//
27// Ensure proper structure formats
28//
29#pragma pack(1)
30
34typedef PACKED struct {
42
43#pragma pack()
44
45//
46// Ensure proper structure formats
47//
48#pragma pack(1)
49
60
61//
62// Generic Address Space Address IDs
63//
64#define EFI_ACPI_2_0_SYSTEM_MEMORY 0
65#define EFI_ACPI_2_0_SYSTEM_IO 1
66#define EFI_ACPI_2_0_PCI_CONFIGURATION_SPACE 2
67#define EFI_ACPI_2_0_EMBEDDED_CONTROLLER 3
68#define EFI_ACPI_2_0_SMBUS 4
69#define EFI_ACPI_2_0_FUNCTIONAL_FIXED_HARDWARE 0x7F
70
71//
72// ACPI 2.0 table structures
73//
74
89
93#define EFI_ACPI_2_0_ROOT_SYSTEM_DESCRIPTION_POINTER_REVISION 0x02
94
103
104//
105// Root System Description Table
106// No definition needed as it is a common description table header, the same with
107// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT32 table pointers.
108//
109
113#define EFI_ACPI_2_0_ROOT_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01
114
115//
116// Extended System Description Table
117// No definition needed as it is a common description table header, the same with
118// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT64 table pointers.
119//
120
124#define EFI_ACPI_2_0_EXTENDED_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01
125
129typedef struct {
171 UINT8 Reserved2[3];
183
187#define EFI_ACPI_2_0_FIXED_ACPI_DESCRIPTION_TABLE_REVISION 0x03
188
189//
190// Fixed ACPI Description Table Preferred Power Management Profile
191//
192#define EFI_ACPI_2_0_PM_PROFILE_UNSPECIFIED 0
193#define EFI_ACPI_2_0_PM_PROFILE_DESKTOP 1
194#define EFI_ACPI_2_0_PM_PROFILE_MOBILE 2
195#define EFI_ACPI_2_0_PM_PROFILE_WORKSTATION 3
196#define EFI_ACPI_2_0_PM_PROFILE_ENTERPRISE_SERVER 4
197#define EFI_ACPI_2_0_PM_PROFILE_SOHO_SERVER 5
198#define EFI_ACPI_2_0_PM_PROFILE_APPLIANCE_PC 6
199
200//
201// Fixed ACPI Description Table Boot Architecture Flags
202// All other bits are reserved and must be set to 0.
203//
204#define EFI_ACPI_2_0_LEGACY_DEVICES BIT0
205#define EFI_ACPI_2_0_8042 BIT1
206
207//
208// Fixed ACPI Description Table Fixed Feature Flags
209// All other bits are reserved and must be set to 0.
210//
211#define EFI_ACPI_2_0_WBINVD BIT0
212#define EFI_ACPI_2_0_WBINVD_FLUSH BIT1
213#define EFI_ACPI_2_0_PROC_C1 BIT2
214#define EFI_ACPI_2_0_P_LVL2_UP BIT3
215#define EFI_ACPI_2_0_PWR_BUTTON BIT4
216#define EFI_ACPI_2_0_SLP_BUTTON BIT5
217#define EFI_ACPI_2_0_FIX_RTC BIT6
218#define EFI_ACPI_2_0_RTC_S4 BIT7
219#define EFI_ACPI_2_0_TMR_VAL_EXT BIT8
220#define EFI_ACPI_2_0_DCK_CAP BIT9
221#define EFI_ACPI_2_0_RESET_REG_SUP BIT10
222#define EFI_ACPI_2_0_SEALED_CASE BIT11
223#define EFI_ACPI_2_0_HEADLESS BIT12
224#define EFI_ACPI_2_0_CPU_SW_SLP BIT13
225
240
244#define EFI_ACPI_2_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_VERSION 0x01
245
250#define EFI_ACPI_2_0_S4BIOS_F BIT0
251
261
265#define EFI_ACPI_2_0_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION 0x01
266
271#define EFI_ACPI_2_0_PCAT_COMPAT BIT0
272
273//
274// Multiple APIC Description Table APIC structure types
275// All other values between 0x09 an 0xFF are reserved and
276// will be ignored by OSPM.
277//
278#define EFI_ACPI_2_0_PROCESSOR_LOCAL_APIC 0x00
279#define EFI_ACPI_2_0_IO_APIC 0x01
280#define EFI_ACPI_2_0_INTERRUPT_SOURCE_OVERRIDE 0x02
281#define EFI_ACPI_2_0_NON_MASKABLE_INTERRUPT_SOURCE 0x03
282#define EFI_ACPI_2_0_LOCAL_APIC_NMI 0x04
283#define EFI_ACPI_2_0_LOCAL_APIC_ADDRESS_OVERRIDE 0x05
284#define EFI_ACPI_2_0_IO_SAPIC 0x06
285#define EFI_ACPI_2_0_PROCESSOR_LOCAL_SAPIC 0x07
286#define EFI_ACPI_2_0_PLATFORM_INTERRUPT_SOURCES 0x08
287
288//
289// APIC Structure Definitions
290//
291
302
306#define EFI_ACPI_2_0_LOCAL_APIC_ENABLED BIT0
307
319
331
341
352
362
374
387
402
412
416#define EFI_ACPI_2_0_SMART_BATTERY_DESCRIPTION_TABLE_REVISION 0x01
417
430
434#define EFI_ACPI_2_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_REVISION 0x01
435
436//
437// Known table signatures
438//
439
443#define EFI_ACPI_2_0_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE SIGNATURE_64('R', 'S', 'D', ' ', 'P', 'T', 'R', ' ')
444
451#define EFI_ACPI_2_0_MULTIPLE_SAPIC_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('A', 'P', 'I', 'C')
452
456#define EFI_ACPI_2_0_SIMPLE_BOOT_FLAG_TABLE_SIGNATURE SIGNATURE_32('B', 'O', 'O', 'T')
457
461#define EFI_ACPI_2_0_DEBUG_PORT_TABLE_SIGNATURE SIGNATURE_32('D', 'B', 'G', 'P')
462
466#define EFI_ACPI_2_0_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('D', 'S', 'D', 'T')
467
471#define EFI_ACPI_2_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_SIGNATURE SIGNATURE_32('E', 'C', 'D', 'T')
472
476#define EFI_ACPI_2_0_EVENT_TIMER_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('E', 'T', 'D', 'T')
477
481#define EFI_ACPI_2_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE SIGNATURE_32('F', 'A', 'C', 'S')
482
486#define EFI_ACPI_2_0_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('F', 'A', 'C', 'P')
487
491#define EFI_ACPI_2_0_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('A', 'P', 'I', 'C')
492
496#define EFI_ACPI_2_0_PERSISTENT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('P', 'S', 'D', 'T')
497
501#define EFI_ACPI_2_0_ROOT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('R', 'S', 'D', 'T')
502
506#define EFI_ACPI_2_0_SMART_BATTERY_SPECIFICATION_TABLE_SIGNATURE SIGNATURE_32('S', 'B', 'S', 'T')
507
511#define EFI_ACPI_2_0_SYSTEM_LOCALITY_INFORMATION_TABLE_SIGNATURE SIGNATURE_32('S', 'L', 'I', 'T')
512
516#define EFI_ACPI_2_0_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'C', 'R')
517
521#define EFI_ACPI_2_0_STATIC_RESOURCE_AFFINITY_TABLE_SIGNATURE SIGNATURE_32('S', 'R', 'A', 'T')
522
526#define EFI_ACPI_2_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('S', 'S', 'D', 'T')
527
531#define EFI_ACPI_2_0_SERVER_PLATFORM_MANAGEMENT_INTERFACE_SIGNATURE SIGNATURE_32('S', 'P', 'M', 'I')
532
536#define EFI_ACPI_2_0_EXTENDED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('X', 'S', 'D', 'T')
537
541#define EFI_ACPI_2_0_MEMORY_MAPPED_CONFIGURATION_BASE_ADDRESS_TABLE_SIGNATURE SIGNATURE_32('M', 'C', 'F', 'G')
542
543#pragma pack()
544
545#endif
unsigned int UINT32
Definition ProcessorBind.h:102
PACKED struct @22 ACPI_LARGE_RESOURCE_HEADER
PACKED struct @38 EFI_ACPI_GENERIC_REGISTER_DESCRIPTOR
UINT64 RegisterAddress
Definition Acpi20.h:40
UINT8 RegisterBitWidth
Definition Acpi20.h:37
UINT8 RegisterBitOffset
Definition Acpi20.h:38
ACPI_LARGE_RESOURCE_HEADER Header
Definition Acpi20.h:35
UINT8 AddressSize
Definition Acpi20.h:39
UINT8 AddressSpaceId
Definition Acpi20.h:36
UINT8 Reserved
Definition Acpi30.h:40
#define PACKED
Definition Base.h:274
unsigned short UINT16
Definition actypes.h:237
unsigned char UINT8
Definition actypes.h:236
COMPILER_DEPENDENT_UINT64 UINT64
Definition actypes.h:239
Definition Acpi20.h:99
UINT32 Signature
Definition Acpi20.h:100
UINT32 Length
Definition Acpi20.h:101
EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE EcControl
Definition Acpi20.h:425
EFI_ACPI_DESCRIPTION_HEADER Header
Definition Acpi20.h:424
EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE EcData
Definition Acpi20.h:426
UINT64 XFirmwareWakingVector
Definition Acpi20.h:236
UINT32 Length
Definition Acpi20.h:231
UINT32 Signature
Definition Acpi20.h:230
UINT32 GlobalLock
Definition Acpi20.h:234
UINT8 Version
Definition Acpi20.h:237
UINT32 Flags
Definition Acpi20.h:235
UINT32 FirmwareWakingVector
Definition Acpi20.h:233
UINT32 HardwareSignature
Definition Acpi20.h:232
UINT32 Pm1bEvtBlk
Definition Acpi20.h:142
UINT32 FirmwareCtrl
Definition Acpi20.h:131
UINT64 XDsdt
Definition Acpi20.h:173
UINT16 FlushStride
Definition Acpi20.h:160
EFI_ACPI_DESCRIPTION_HEADER Header
Definition Acpi20.h:130
UINT64 XFirmwareCtrl
Definition Acpi20.h:172
UINT16 SciInt
Definition Acpi20.h:135
EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE XPm2CntBlk
Definition Acpi20.h:178
UINT8 PreferredPmProfile
Definition Acpi20.h:134
EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE ResetReg
Definition Acpi20.h:169
UINT8 ResetValue
Definition Acpi20.h:170
EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE XPm1aCntBlk
Definition Acpi20.h:176
UINT16 PLvl2Lat
Definition Acpi20.h:157
UINT8 Pm2CntLen
Definition Acpi20.h:151
EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE XPm1bEvtBlk
Definition Acpi20.h:175
EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE XPm1aEvtBlk
Definition Acpi20.h:174
UINT32 Flags
Definition Acpi20.h:168
UINT32 Dsdt
Definition Acpi20.h:132
UINT8 Gpe1BlkLen
Definition Acpi20.h:154
UINT8 Century
Definition Acpi20.h:165
UINT32 Gpe1Blk
Definition Acpi20.h:148
UINT16 FlushSize
Definition Acpi20.h:159
UINT8 DutyWidth
Definition Acpi20.h:162
UINT8 Gpe1Base
Definition Acpi20.h:155
UINT8 CstCnt
Definition Acpi20.h:156
EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE XGpe0Blk
Definition Acpi20.h:180
UINT8 PstateCnt
Definition Acpi20.h:140
UINT16 IaPcBootArch
Definition Acpi20.h:166
EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE XPm1bCntBlk
Definition Acpi20.h:177
UINT8 S4BiosReq
Definition Acpi20.h:139
UINT32 Pm1bCntBlk
Definition Acpi20.h:144
EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE XPmTmrBlk
Definition Acpi20.h:179
EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE XGpe1Blk
Definition Acpi20.h:181
UINT8 AcpiDisable
Definition Acpi20.h:138
UINT16 PLvl3Lat
Definition Acpi20.h:158
UINT8 DutyOffset
Definition Acpi20.h:161
UINT32 Pm1aEvtBlk
Definition Acpi20.h:141
UINT8 DayAlrm
Definition Acpi20.h:163
UINT8 AcpiEnable
Definition Acpi20.h:137
UINT8 PmTmrLen
Definition Acpi20.h:152
UINT32 Pm1aCntBlk
Definition Acpi20.h:143
UINT8 MonAlrm
Definition Acpi20.h:164
UINT32 SmiCmd
Definition Acpi20.h:136
UINT8 Gpe0BlkLen
Definition Acpi20.h:153
UINT8 Pm1CntLen
Definition Acpi20.h:150
UINT32 PmTmrBlk
Definition Acpi20.h:146
UINT32 Pm2CntBlk
Definition Acpi20.h:145
UINT8 Reserved0
Definition Acpi20.h:133
UINT8 Pm1EvtLen
Definition Acpi20.h:149
UINT8 Reserved1
Definition Acpi20.h:167
UINT32 Gpe0Blk
Definition Acpi20.h:147
UINT64 Address
Definition Acpi20.h:58
UINT8 RegisterBitWidth
Definition Acpi20.h:55
UINT8 Reserved
Definition Acpi20.h:57
UINT8 RegisterBitOffset
Definition Acpi20.h:56
UINT8 AddressSpaceId
Definition Acpi20.h:54
UINT32 GlobalSystemInterrupt
Definition Acpi20.h:328
Definition Acpi20.h:311
UINT32 GlobalSystemInterruptBase
Definition Acpi20.h:317
UINT8 IoApicId
Definition Acpi20.h:314
UINT8 Type
Definition Acpi20.h:312
UINT32 IoApicAddress
Definition Acpi20.h:316
UINT8 Length
Definition Acpi20.h:313
UINT8 Reserved
Definition Acpi20.h:315
Definition Acpi20.h:366
UINT8 Type
Definition Acpi20.h:367
UINT8 Reserved
Definition Acpi20.h:370
UINT64 IoSapicAddress
Definition Acpi20.h:372
UINT8 IoApicId
Definition Acpi20.h:369
UINT32 GlobalSystemInterruptBase
Definition Acpi20.h:371
UINT8 Length
Definition Acpi20.h:368
UINT64 LocalApicAddress
Definition Acpi20.h:360
UINT8 Length
Definition Acpi20.h:347
UINT8 LocalApicLint
Definition Acpi20.h:350
UINT8 Type
Definition Acpi20.h:346
UINT8 AcpiProcessorId
Definition Acpi20.h:348
UINT16 Flags
Definition Acpi20.h:349
UINT32 LocalApicAddress
Definition Acpi20.h:258
EFI_ACPI_DESCRIPTION_HEADER Header
Definition Acpi20.h:257
UINT32 GlobalSystemInterrupt
Definition Acpi20.h:339
UINT32 GlobalSystemInterrupt
Definition Acpi20.h:399
UINT8 AcpiProcessorId
Definition Acpi20.h:298
UINT32 Flags
Definition Acpi20.h:300
UINT8 ApicId
Definition Acpi20.h:299
UINT8 Length
Definition Acpi20.h:297
UINT8 Type
Definition Acpi20.h:296
UINT8 LocalSapicEid
Definition Acpi20.h:383
UINT8 AcpiProcessorId
Definition Acpi20.h:381
UINT8 LocalSapicId
Definition Acpi20.h:382
UINT32 Flags
Definition Acpi20.h:385
UINT8 Length
Definition Acpi20.h:380
UINT8 Revision
Definition Acpi20.h:82
UINT64 Signature
Definition Acpi20.h:79
UINT32 RsdtAddress
Definition Acpi20.h:83
UINT8 Checksum
Definition Acpi20.h:80
UINT32 Length
Definition Acpi20.h:84
UINT64 XsdtAddress
Definition Acpi20.h:85
UINT8 ExtendedChecksum
Definition Acpi20.h:86
UINT32 LowEnergyLevel
Definition Acpi20.h:409
UINT32 CriticalEnergyLevel
Definition Acpi20.h:410
EFI_ACPI_DESCRIPTION_HEADER Header
Definition Acpi20.h:407
UINT32 WarningEnergyLevel
Definition Acpi20.h:408
Definition Acpi10.h:32