]> git.proxmox.com Git - mirror_edk2.git/blob - MdePkg/Include/IndustryStandard/Acpi30.h
add #pragma pack(1) for some structures.
[mirror_edk2.git] / MdePkg / Include / IndustryStandard / Acpi30.h
1 /** @file
2 ACPI 3.0 definitions from the ACPI Specification Revision 3.0b October 10, 2006.
3
4 Copyright (c) 2006 - 2008, Intel Corporation
5 All rights reserved. This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
9
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12 **/
13
14 #ifndef _ACPI_3_0_H_
15 #define _ACPI_3_0_H_
16
17 #include <IndustryStandard/Acpi20.h>
18
19 //
20 // Ensure proper structure formats
21 //
22 #pragma pack(1)
23
24 ///
25 /// ACPI 3.0 Generic Address Space definition
26 ///
27 typedef struct {
28 UINT8 AddressSpaceId;
29 UINT8 RegisterBitWidth;
30 UINT8 RegisterBitOffset;
31 UINT8 AccessSize;
32 UINT64 Address;
33 } EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE;
34
35 #pragma pack()
36
37 //
38 // Generic Address Space Address IDs
39 //
40 #define EFI_ACPI_3_0_SYSTEM_MEMORY 0
41 #define EFI_ACPI_3_0_SYSTEM_IO 1
42 #define EFI_ACPI_3_0_PCI_CONFIGURATION_SPACE 2
43 #define EFI_ACPI_3_0_EMBEDDED_CONTROLLER 3
44 #define EFI_ACPI_3_0_SMBUS 4
45 #define EFI_ACPI_3_0_FUNCTIONAL_FIXED_HARDWARE 0x7F
46
47 //
48 // Generic Address Space Access Sizes
49 //
50 #define EFI_ACPI_3_0_UNDEFINED 0
51 #define EFI_ACPI_3_0_BYTE 1
52 #define EFI_ACPI_3_0_WORD 2
53 #define EFI_ACPI_3_0_DWORD 3
54 #define EFI_ACPI_3_0_QWORD 4
55
56 //
57 // ACPI 3.0 table structures
58 //
59
60 ///
61 /// Root System Description Pointer Structure
62 ///
63 typedef struct {
64 UINT64 Signature;
65 UINT8 Checksum;
66 UINT8 OemId[6];
67 UINT8 Revision;
68 UINT32 RsdtAddress;
69 UINT32 Length;
70 UINT64 XsdtAddress;
71 UINT8 ExtendedChecksum;
72 UINT8 Reserved[3];
73 } EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_POINTER;
74
75 ///
76 /// RSD_PTR Revision (as defined in ACPI 3.0b spec.)
77 ///
78 #define EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_POINTER_REVISION 0x02 ///< ACPISpec (Revision 3.0b) says current value is 2
79
80 ///
81 /// Common table header, this prefaces all ACPI tables, including FACS, but
82 /// excluding the RSD PTR structure
83 ///
84 typedef struct {
85 UINT32 Signature;
86 UINT32 Length;
87 } EFI_ACPI_3_0_COMMON_HEADER;
88
89 //
90 // Root System Description Table
91 // No definition needed as it is a common description table header, the same with
92 // EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT32 table pointers.
93 //
94
95 ///
96 /// RSDT Revision (as defined in ACPI 3.0 spec.)
97 ///
98 #define EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01
99
100 //
101 // Extended System Description Table
102 // No definition needed as it is a common description table header, the same with
103 // EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT64 table pointers.
104 //
105
106 ///
107 /// XSDT Revision (as defined in ACPI 3.0 spec.)
108 ///
109 #define EFI_ACPI_3_0_EXTENDED_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01
110
111 //
112 // Ensure proper structure formats
113 //
114 #pragma pack(1)
115 ///
116 /// Fixed ACPI Description Table Structure (FADT)
117 ///
118 typedef struct {
119 EFI_ACPI_DESCRIPTION_HEADER Header;
120 UINT32 FirmwareCtrl;
121 UINT32 Dsdt;
122 UINT8 Reserved0;
123 UINT8 PreferredPmProfile;
124 UINT16 SciInt;
125 UINT32 SmiCmd;
126 UINT8 AcpiEnable;
127 UINT8 AcpiDisable;
128 UINT8 S4BiosReq;
129 UINT8 PstateCnt;
130 UINT32 Pm1aEvtBlk;
131 UINT32 Pm1bEvtBlk;
132 UINT32 Pm1aCntBlk;
133 UINT32 Pm1bCntBlk;
134 UINT32 Pm2CntBlk;
135 UINT32 PmTmrBlk;
136 UINT32 Gpe0Blk;
137 UINT32 Gpe1Blk;
138 UINT8 Pm1EvtLen;
139 UINT8 Pm1CntLen;
140 UINT8 Pm2CntLen;
141 UINT8 PmTmrLen;
142 UINT8 Gpe0BlkLen;
143 UINT8 Gpe1BlkLen;
144 UINT8 Gpe1Base;
145 UINT8 CstCnt;
146 UINT16 PLvl2Lat;
147 UINT16 PLvl3Lat;
148 UINT16 FlushSize;
149 UINT16 FlushStride;
150 UINT8 DutyOffset;
151 UINT8 DutyWidth;
152 UINT8 DayAlrm;
153 UINT8 MonAlrm;
154 UINT8 Century;
155 UINT16 IaPcBootArch;
156 UINT8 Reserved1;
157 UINT32 Flags;
158 EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE ResetReg;
159 UINT8 ResetValue;
160 UINT8 Reserved2[3];
161 UINT64 XFirmwareCtrl;
162 UINT64 XDsdt;
163 EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XPm1aEvtBlk;
164 EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XPm1bEvtBlk;
165 EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XPm1aCntBlk;
166 EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XPm1bCntBlk;
167 EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XPm2CntBlk;
168 EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XPmTmrBlk;
169 EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XGpe0Blk;
170 EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XGpe1Blk;
171 } EFI_ACPI_3_0_FIXED_ACPI_DESCRIPTION_TABLE;
172 #pragma pack()
173
174 ///
175 /// FADT Version (as defined in ACPI 3.0 spec.)
176 ///
177 #define EFI_ACPI_3_0_FIXED_ACPI_DESCRIPTION_TABLE_REVISION 0x04
178
179 //
180 // Fixed ACPI Description Table Preferred Power Management Profile
181 //
182 #define EFI_ACPI_3_0_PM_PROFILE_UNSPECIFIED 0
183 #define EFI_ACPI_3_0_PM_PROFILE_DESKTOP 1
184 #define EFI_ACPI_3_0_PM_PROFILE_MOBILE 2
185 #define EFI_ACPI_3_0_PM_PROFILE_WORKSTATION 3
186 #define EFI_ACPI_3_0_PM_PROFILE_ENTERPRISE_SERVER 4
187 #define EFI_ACPI_3_0_PM_PROFILE_SOHO_SERVER 5
188 #define EFI_ACPI_3_0_PM_PROFILE_APPLIANCE_PC 6
189 #define EFI_ACPI_3_0_PM_PROFILE_PERFORMANCE_SERVER 7
190
191 //
192 // Fixed ACPI Description Table Boot Architecture Flags
193 // All other bits are reserved and must be set to 0.
194 //
195 #define EFI_ACPI_3_0_LEGACY_DEVICES BIT0
196 #define EFI_ACPI_3_0_8042 BIT1
197 #define EFI_ACPI_3_0_VGA_NOT_PRESENT BIT2
198 #define EFI_ACPI_3_0_MSI_NOT_SUPPORTED BIT3
199 #define EFI_ACPI_3_0_PCIE_ASPM_CONTROLS BIT4
200
201 //
202 // Fixed ACPI Description Table Fixed Feature Flags
203 // All other bits are reserved and must be set to 0.
204 //
205 #define EFI_ACPI_3_0_WBINVD BIT0
206 #define EFI_ACPI_3_0_WBINVD_FLUSH BIT1
207 #define EFI_ACPI_3_0_PROC_C1 BIT2
208 #define EFI_ACPI_3_0_P_LVL2_UP BIT3
209 #define EFI_ACPI_3_0_PWR_BUTTON BIT4
210 #define EFI_ACPI_3_0_SLP_BUTTON BIT5
211 #define EFI_ACPI_3_0_FIX_RTC BIT6
212 #define EFI_ACPI_3_0_RTC_S4 BIT7
213 #define EFI_ACPI_3_0_TMR_VAL_EXT BIT8
214 #define EFI_ACPI_3_0_DCK_CAP BIT9
215 #define EFI_ACPI_3_0_RESET_REG_SUP BIT10
216 #define EFI_ACPI_3_0_SEALED_CASE BIT11
217 #define EFI_ACPI_3_0_HEADLESS BIT12
218 #define EFI_ACPI_3_0_CPU_SW_SLP BIT13
219 #define EFI_ACPI_3_0_PCI_EXP_WAK BIT14
220 #define EFI_ACPI_3_0_USE_PLATFORM_CLOCK BIT15
221 #define EFI_ACPI_3_0_S4_RTC_STS_VALID BIT16
222 #define EFI_ACPI_3_0_REMOTE_POWER_ON_CAPABLE BIT17
223 #define EFI_ACPI_3_0_FORCE_APIC_CLUSTER_MODEL BIT18
224 #define EFI_ACPI_3_0_FORCE_APIC_PHYSICAL_DESTINATION_MODE BIT19
225
226 ///
227 /// Firmware ACPI Control Structure
228 ///
229 typedef struct {
230 UINT32 Signature;
231 UINT32 Length;
232 UINT32 HardwareSignature;
233 UINT32 FirmwareWakingVector;
234 UINT32 GlobalLock;
235 UINT32 Flags;
236 UINT64 XFirmwareWakingVector;
237 UINT8 Version;
238 UINT8 Reserved[31];
239 } EFI_ACPI_3_0_FIRMWARE_ACPI_CONTROL_STRUCTURE;
240
241 ///
242 /// FACS Version (as defined in ACPI 3.0 spec.)
243 ///
244 #define EFI_ACPI_3_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_VERSION 0x01
245
246 ///
247 /// Firmware Control Structure Feature Flags
248 /// All other bits are reserved and must be set to 0.
249 ///
250 #define EFI_ACPI_3_0_S4BIOS_F BIT0
251
252 //
253 // Differentiated System Description Table,
254 // Secondary System Description Table
255 // and Persistent System Description Table,
256 // no definition needed as they are common description table header, the same with
257 // EFI_ACPI_DESCRIPTION_HEADER, followed by a definition block.
258 //
259 #define EFI_ACPI_3_0_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_REVISION 0x02
260 #define EFI_ACPI_3_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_REVISION 0x02
261
262 ///
263 /// Multiple APIC Description Table header definition. The rest of the table
264 /// must be defined in a platform specific manner.
265 ///
266 typedef struct {
267 EFI_ACPI_DESCRIPTION_HEADER Header;
268 UINT32 LocalApicAddress;
269 UINT32 Flags;
270 } EFI_ACPI_3_0_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER;
271
272 ///
273 /// MADT Revision (as defined in ACPI 3.0 spec.)
274 ///
275 #define EFI_ACPI_3_0_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION 0x02
276
277 ///
278 /// Multiple APIC Flags
279 /// All other bits are reserved and must be set to 0.
280 ///
281 #define EFI_ACPI_3_0_PCAT_COMPAT BIT0
282
283 //
284 // Multiple APIC Description Table APIC structure types
285 // All other values between 0x09 an 0xFF are reserved and
286 // will be ignored by OSPM.
287 //
288 #define EFI_ACPI_3_0_PROCESSOR_LOCAL_APIC 0x00
289 #define EFI_ACPI_3_0_IO_APIC 0x01
290 #define EFI_ACPI_3_0_INTERRUPT_SOURCE_OVERRIDE 0x02
291 #define EFI_ACPI_3_0_NON_MASKABLE_INTERRUPT_SOURCE 0x03
292 #define EFI_ACPI_3_0_LOCAL_APIC_NMI 0x04
293 #define EFI_ACPI_3_0_LOCAL_APIC_ADDRESS_OVERRIDE 0x05
294 #define EFI_ACPI_3_0_IO_SAPIC 0x06
295 #define EFI_ACPI_3_0_LOCAL_SAPIC 0x07
296 #define EFI_ACPI_3_0_PLATFORM_INTERRUPT_SOURCES 0x08
297
298 //
299 // APIC Structure Definitions
300 //
301
302 ///
303 /// Processor Local APIC Structure Definition
304 ///
305 typedef struct {
306 UINT8 Type;
307 UINT8 Length;
308 UINT8 AcpiProcessorId;
309 UINT8 ApicId;
310 UINT32 Flags;
311 } EFI_ACPI_3_0_PROCESSOR_LOCAL_APIC_STRUCTURE;
312
313 ///
314 /// Local APIC Flags. All other bits are reserved and must be 0.
315 ///
316 #define EFI_ACPI_3_0_LOCAL_APIC_ENABLED BIT0
317
318 ///
319 /// IO APIC Structure
320 ///
321 typedef struct {
322 UINT8 Type;
323 UINT8 Length;
324 UINT8 IoApicId;
325 UINT8 Reserved;
326 UINT32 IoApicAddress;
327 UINT32 GlobalSystemInterruptBase;
328 } EFI_ACPI_3_0_IO_APIC_STRUCTURE;
329
330 ///
331 /// Interrupt Source Override Structure
332 ///
333 typedef struct {
334 UINT8 Type;
335 UINT8 Length;
336 UINT8 Bus;
337 UINT8 Source;
338 UINT32 GlobalSystemInterrupt;
339 UINT16 Flags;
340 } EFI_ACPI_3_0_INTERRUPT_SOURCE_OVERRIDE_STRUCTURE;
341
342 ///
343 /// Platform Interrupt Sources Structure Definition
344 ///
345 typedef struct {
346 UINT8 Type;
347 UINT8 Length;
348 UINT16 Flags;
349 UINT8 InterruptType;
350 UINT8 ProcessorId;
351 UINT8 ProcessorEid;
352 UINT8 IoSapicVector;
353 UINT32 GlobalSystemInterrupt;
354 UINT32 PlatformInterruptSourceFlags;
355 UINT8 CpeiProcessorOverride;
356 UINT8 Reserved[31];
357 } EFI_ACPI_3_0_PLATFORM_INTERRUPT_APIC_STRUCTURE;
358
359 //
360 // MPS INTI flags.
361 // All other bits are reserved and must be set to 0.
362 //
363 #define EFI_ACPI_3_0_POLARITY (3 << 0)
364 #define EFI_ACPI_3_0_TRIGGER_MODE (3 << 2)
365
366 ///
367 /// Non-Maskable Interrupt Source Structure
368 ///
369 typedef struct {
370 UINT8 Type;
371 UINT8 Length;
372 UINT16 Flags;
373 UINT32 GlobalSystemInterrupt;
374 } EFI_ACPI_3_0_NON_MASKABLE_INTERRUPT_SOURCE_STRUCTURE;
375
376 //
377 // Ensure proper structure formats
378 //
379 #pragma pack(1)
380
381 ///
382 /// Local APIC NMI Structure
383 ///
384 typedef struct {
385 UINT8 Type;
386 UINT8 Length;
387 UINT8 AcpiProcessorId;
388 UINT16 Flags;
389 UINT8 LocalApicLint;
390 } EFI_ACPI_3_0_LOCAL_APIC_NMI_STRUCTURE;
391
392 ///
393 /// Local APIC Address Override Structure
394 ///
395 typedef struct {
396 UINT8 Type;
397 UINT8 Length;
398 UINT16 Reserved;
399 UINT64 LocalApicAddress;
400 } EFI_ACPI_3_0_LOCAL_APIC_ADDRESS_OVERRIDE_STRUCTURE;
401
402 #pragma pack()
403
404 ///
405 /// IO SAPIC Structure
406 ///
407 typedef struct {
408 UINT8 Type;
409 UINT8 Length;
410 UINT8 IoApicId;
411 UINT8 Reserved;
412 UINT32 GlobalSystemInterruptBase;
413 UINT64 IoSapicAddress;
414 } EFI_ACPI_3_0_IO_SAPIC_STRUCTURE;
415
416 ///
417 /// Local SAPIC Structure
418 /// This struct followed by a null-terminated ASCII string - ACPI Processor UID String
419 ///
420 typedef struct {
421 UINT8 Type;
422 UINT8 Length;
423 UINT8 AcpiProcessorId;
424 UINT8 LocalSapicId;
425 UINT8 LocalSapicEid;
426 UINT8 Reserved[3];
427 UINT32 Flags;
428 UINT32 ACPIProcessorUIDValue;
429 } EFI_ACPI_3_0_PROCESSOR_LOCAL_SAPIC_STRUCTURE;
430
431 ///
432 /// Platform Interrupt Sources Structure
433 ///
434 typedef struct {
435 UINT8 Type;
436 UINT8 Length;
437 UINT16 Flags;
438 UINT8 InterruptType;
439 UINT8 ProcessorId;
440 UINT8 ProcessorEid;
441 UINT8 IoSapicVector;
442 UINT32 GlobalSystemInterrupt;
443 UINT32 PlatformInterruptSourceFlags;
444 } EFI_ACPI_3_0_PLATFORM_INTERRUPT_SOURCES_STRUCTURE;
445
446 ///
447 /// Platform Interrupt Source Flags.
448 /// All other bits are reserved and must be set to 0.
449 ///
450 #define EFI_ACPI_3_0_CPEI_PROCESSOR_OVERRIDE BIT0
451
452 ///
453 /// Smart Battery Description Table (SBST)
454 ///
455 typedef struct {
456 EFI_ACPI_DESCRIPTION_HEADER Header;
457 UINT32 WarningEnergyLevel;
458 UINT32 LowEnergyLevel;
459 UINT32 CriticalEnergyLevel;
460 } EFI_ACPI_3_0_SMART_BATTERY_DESCRIPTION_TABLE;
461
462 ///
463 /// SBST Version (as defined in ACPI 3.0 spec.)
464 ///
465 #define EFI_ACPI_3_0_SMART_BATTERY_DESCRIPTION_TABLE_REVISION 0x01
466
467 ///
468 /// Embedded Controller Boot Resources Table (ECDT)
469 /// The table is followed by a null terminated ASCII string that contains
470 /// a fully qualified reference to the name space object.
471 ///
472 typedef struct {
473 EFI_ACPI_DESCRIPTION_HEADER Header;
474 EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE EcControl;
475 EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE EcData;
476 UINT32 Uid;
477 UINT8 GpeBit;
478 } EFI_ACPI_3_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE;
479
480 ///
481 /// ECDT Version (as defined in ACPI 3.0 spec.)
482 ///
483 #define EFI_ACPI_3_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_REVISION 0x01
484
485 ///
486 /// System Resource Affinity Table (SRAT. The rest of the table
487 /// must be defined in a platform specific manner.
488 ///
489 typedef struct {
490 EFI_ACPI_DESCRIPTION_HEADER Header;
491 UINT32 Reserved1; ///< Must be set to 1
492 UINT64 Reserved2;
493 } EFI_ACPI_3_0_SYSTEM_RESOURCE_AFFINITY_TABLE_HEADER;
494
495 ///
496 /// SRAT Version (as defined in ACPI 3.0 spec.)
497 ///
498 #define EFI_ACPI_3_0_SYSTEM_RESOURCE_AFFINITY_TABLE_REVISION 0x02
499
500 //
501 // SRAT structure types.
502 // All other values between 0x02 an 0xFF are reserved and
503 // will be ignored by OSPM.
504 //
505 #define EFI_ACPI_3_0_PROCESSOR_LOCAL_APIC_SAPIC_AFFINITY 0x00
506 #define EFI_ACPI_3_0_MEMORY_AFFINITY 0x01
507
508 ///
509 /// Processor Local APIC/SAPIC Affinity Structure Definition
510 ///
511 typedef struct {
512 UINT8 Type;
513 UINT8 Length;
514 UINT8 ProximityDomain7To0;
515 UINT8 ApicId;
516 UINT32 Flags;
517 UINT8 LocalSapicEid;
518 UINT8 ProximityDomain31To8[3];
519 UINT8 Reserved[4];
520 } EFI_ACPI_3_0_PROCESSOR_LOCAL_APIC_SAPIC_AFFINITY_STRUCTURE;
521
522 ///
523 /// Local APIC/SAPIC Flags. All other bits are reserved and must be 0.
524 ///
525 #define EFI_ACPI_3_0_PROCESSOR_LOCAL_APIC_SAPIC_ENABLED (1 << 0)
526
527 //
528 // Ensure proper structure formats
529 //
530 #pragma pack(1)
531 ///
532 /// Memory Affinity Structure Definition
533 ///
534 typedef struct {
535 UINT8 Type;
536 UINT8 Length;
537 UINT32 ProximityDomain;
538 UINT16 Reserved1;
539 UINT32 AddressBaseLow;
540 UINT32 AddressBaseHigh;
541 UINT32 LengthLow;
542 UINT32 LengthHigh;
543 UINT32 Reserved2;
544 UINT32 Flags;
545 UINT64 Reserved3;
546 } EFI_ACPI_3_0_MEMORY_AFFINITY_STRUCTURE;
547
548 #pragma pack()
549
550 //
551 // Memory Flags. All other bits are reserved and must be 0.
552 //
553 #define EFI_ACPI_3_0_MEMORY_ENABLED (1 << 0)
554 #define EFI_ACPI_3_0_MEMORY_HOT_PLUGGABLE (1 << 1)
555 #define EFI_ACPI_3_0_MEMORY_NONVOLATILE (1 << 2)
556
557 ///
558 /// System Locality Distance Information Table (SLIT).
559 /// The rest of the table is a matrix.
560 ///
561 typedef struct {
562 EFI_ACPI_DESCRIPTION_HEADER Header;
563 UINT64 NumberOfSystemLocalities;
564 } EFI_ACPI_3_0_SYSTEM_LOCALITY_DISTANCE_INFORMATION_TABLE_HEADER;
565
566 ///
567 /// SLIT Version (as defined in ACPI 3.0 spec.)
568 ///
569 #define EFI_ACPI_3_0_SYSTEM_LOCALITY_DISTANCE_INFORMATION_TABLE_REVISION 0x01
570
571 //
572 // Known table signatures
573 //
574
575 ///
576 /// "RSD PTR " Root System Description Pointer
577 ///
578 #define EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE SIGNATURE_64('R', 'S', 'D', ' ', 'P', 'T', 'R', ' ')
579
580 ///
581 /// "APIC" Multiple APIC Description Table
582 ///
583 #define EFI_ACPI_3_0_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('A', 'P', 'I', 'C')
584
585 ///
586 /// "DSDT" Differentiated System Description Table
587 ///
588 #define EFI_ACPI_3_0_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('D', 'S', 'D', 'T')
589
590 ///
591 /// "ECDT" Embedded Controller Boot Resources Table
592 ///
593 #define EFI_ACPI_3_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_SIGNATURE SIGNATURE_32('E', 'C', 'D', 'T')
594
595 ///
596 /// "FACP" Fixed ACPI Description Table
597 ///
598 #define EFI_ACPI_3_0_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('F', 'A', 'C', 'P')
599
600 ///
601 /// "FACS" Firmware ACPI Control Structure
602 ///
603 #define EFI_ACPI_3_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE SIGNATURE_32('F', 'A', 'C', 'S')
604
605 ///
606 /// "PSDT" Persistent System Description Table
607 ///
608 #define EFI_ACPI_3_0_PERSISTENT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('P', 'S', 'D', 'T')
609
610 ///
611 /// "RSDT" Root System Description Table
612 ///
613 #define EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('R', 'S', 'D', 'T')
614
615 ///
616 /// "SBST" Smart Battery Specification Table
617 ///
618 #define EFI_ACPI_3_0_SMART_BATTERY_SPECIFICATION_TABLE_SIGNATURE SIGNATURE_32('S', 'B', 'S', 'T')
619
620 ///
621 /// "SLIT" System Locality Information Table
622 ///
623 #define EFI_ACPI_3_0_SYSTEM_LOCALITY_INFORMATION_TABLE_SIGNATURE SIGNATURE_32('S', 'L', 'I', 'T')
624
625 ///
626 /// "SRAT" System Resource Affinity Table
627 ///
628 #define EFI_ACPI_3_0_SYSTEM_RESOURCE_AFFINITY_TABLE_SIGNATURE SIGNATURE_32('S', 'R', 'A', 'T')
629
630 ///
631 /// "SSDT" Secondary System Description Table
632 ///
633 #define EFI_ACPI_3_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('S', 'S', 'D', 'T')
634
635 ///
636 /// "XSDT" Extended System Description Table
637 ///
638 #define EFI_ACPI_3_0_EXTENDED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('X', 'S', 'D', 'T')
639
640 ///
641 /// "BOOT" MS Simple Boot Spec
642 ///
643 #define EFI_ACPI_3_0_SIMPLE_BOOT_FLAG_TABLE_SIGNATURE SIGNATURE_32('B', 'O', 'O', 'T')
644
645 ///
646 /// "CPEP" Corrected Platform Error Polling Table
647 /// See
648 ///
649 #define EFI_ACPI_3_0_CORRECTED_PLATFORM_ERROR_POLLING_TABLE_SIGNATURE SIGNATURE_32('C', 'P', 'E', 'P')
650
651 ///
652 /// "DBGP" MS Debug Port Spec
653 ///
654 #define EFI_ACPI_3_0_DEBUG_PORT_TABLE_SIGNATURE SIGNATURE_32('D', 'B', 'G', 'P')
655
656 ///
657 /// "ETDT" Event Timer Description Table
658 ///
659 #define EFI_ACPI_3_0_EVENT_TIMER_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('E', 'T', 'D', 'T')
660
661 ///
662 /// "HPET" IA-PC High Precision Event Timer Table
663 ///
664 #define EFI_ACPI_3_0_HIGH_PRECISION_EVENT_TIMER_TABLE_SIGNATURE SIGNATURE_32('H', 'P', 'E', 'T')
665
666 ///
667 /// "MCFG" PCI Express Memory Mapped Configuration Space Base Address Description Table
668 ///
669 #define EFI_ACPI_3_0_PCI_EXPRESS_MEMORY_MAPPED_CONFIGURATION_SPACE_BASE_ADDRESS_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('M', 'C', 'F', 'G')
670
671 ///
672 /// "SPCR" Serial Port Concole Redirection Table
673 ///
674 #define EFI_ACPI_3_0_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'C', 'R')
675
676 ///
677 /// "SPMI" Server Platform Management Interface Table
678 ///
679 #define EFI_ACPI_3_0_SERVER_PLATFORM_MANAGEMENT_INTERFACE_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'M', 'I')
680
681 ///
682 /// "TCPA" Trusted Computing Platform Alliance Capabilities Table
683 ///
684 #define EFI_ACPI_3_0_TRUSTED_COMPUTING_PLATFORM_ALLIANCE_CAPABILITIES_TABLE_SIGNATURE SIGNATURE_32('T', 'C', 'P', 'A')
685
686 ///
687 /// "WDRT" Watchdog Resource Table
688 ///
689 #define EFI_ACPI_3_0_WATCHDOG_RESOURCE_TABLE_SIGNATURE SIGNATURE_32('W', 'D', 'R', 'T')
690
691 ///
692 /// "WDAT" Watchdog Action Table
693 ///
694 #define EFI_ACPI_3_0_WATCHDOG_ACTION_TABLE_SIGNATURE SIGNATURE_32('W', 'D', 'A', 'T')
695
696 ///
697 /// "iBFT" iSCSI Boot Firmware Table
698 ///
699 #define EFI_ACPI_3_0_ISCSI_BOOT_FIRMWARE_TABLE_SIGNATURE SIGNATURE_32('i', 'B', 'F', 'T')
700
701 #endif