]> git.proxmox.com Git - mirror_edk2.git/blame - MdePkg/Include/IndustryStandard/Acpi10.h
Roll back the change which doesn't call LocateProtocol when TPL is TPL_NOTIFY because...
[mirror_edk2.git] / MdePkg / Include / IndustryStandard / Acpi10.h
CommitLineData
42eedea9 1/** @file \r
ee6c452c 2 ACPI 1.0b definitions from the ACPI Specification, revision 1.0b\r
568eb0cb 3\r
9df063a0 4Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>\r
af2dc6a7 5This program and the accompanying materials are licensed and made available under \r
6the terms and conditions of the BSD License that accompanies this distribution. \r
7The full text of the license may be found at\r
8http://opensource.org/licenses/bsd-license.php. \r
9 \r
10THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
11WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
568eb0cb 12**/\r
13\r
14#ifndef _ACPI_1_0_H_\r
15#define _ACPI_1_0_H_\r
16\r
1bc5d021 17///\r
18/// Common table header, this prefaces all ACPI tables, including FACS, but\r
af2dc6a7 19/// excluding the RSD PTR structure.\r
1bc5d021 20///\r
ecc40942 21typedef struct {\r
22 UINT32 Signature;\r
23 UINT32 Length;\r
24} EFI_ACPI_COMMON_HEADER;\r
25\r
4f1afaac 26#pragma pack(1)\r
a2461f6b 27///\r
af2dc6a7 28/// The common ACPI description table header. This structure prefaces most ACPI tables.\r
a2461f6b 29///\r
ecc40942 30typedef struct {\r
31 UINT32 Signature;\r
32 UINT32 Length;\r
33 UINT8 Revision;\r
34 UINT8 Checksum;\r
35 UINT8 OemId[6];\r
36 UINT64 OemTableId;\r
37 UINT32 OemRevision;\r
38 UINT32 CreatorId;\r
39 UINT32 CreatorRevision;\r
40} EFI_ACPI_DESCRIPTION_HEADER;\r
766f4bc1 41#pragma pack()\r
a2461f6b 42\r
ecc40942 43//\r
2b1cf49a 44// Define for Desriptor\r
ecc40942 45//\r
2186f2a1
RN
46#define ACPI_DMA_DESCRIPTOR 0x2A\r
47#define ACPI_IO_PORT_DESCRIPTOR 0x47\r
48#define ACPI_FIXED_LOCATION_IO_PORT_DESCRIPTOR 0x4B\r
49#define ACPI_IRQ_NOFLAG_DESCRIPTOR 0x22\r
50#define ACPI_IRQ_DESCRIPTOR 0x23\r
51#define ACPI_32_BIT_MEMORY_RANGE_DESCRIPTOR 0x85\r
52#define ACPI_32_BIT_FIXED_MEMORY_RANGE_DESCRIPTOR 0x86\r
53#define ACPI_ADDRESS_SPACE_DESCRIPTOR 0x8A\r
54#define ACPI_END_TAG_DESCRIPTOR 0x79\r
ecc40942 55\r
2b1cf49a 56//\r
57// Resource Type\r
58//\r
ecc40942 59#define ACPI_ADDRESS_SPACE_TYPE_MEM 0x00\r
60#define ACPI_ADDRESS_SPACE_TYPE_IO 0x01\r
61#define ACPI_ADDRESS_SPACE_TYPE_BUS 0x02\r
62\r
1bc5d021 63///\r
af2dc6a7 64/// Power Management Timer frequency is fixed at 3.579545MHz.\r
1bc5d021 65///\r
ecc40942 66#define ACPI_TIMER_FREQUENCY 3579545\r
67\r
98a33bf4 68//\r
69// Ensure proper structure formats\r
70//\r
71#pragma pack(1)\r
a2461f6b 72\r
73///\r
74/// The commond definition of QWORD, DWORD, and WORD\r
af2dc6a7 75/// Address Space Descriptors.\r
a2461f6b 76///\r
0b61020a 77typedef PACKED struct {\r
ecc40942 78 UINT8 Desc;\r
79 UINT16 Len;\r
80 UINT8 ResType;\r
81 UINT8 GenFlag;\r
82 UINT8 SpecificFlag;\r
83 UINT64 AddrSpaceGranularity;\r
84 UINT64 AddrRangeMin;\r
85 UINT64 AddrRangeMax;\r
86 UINT64 AddrTranslationOffset;\r
87 UINT64 AddrLen;\r
88} EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR;\r
89\r
605466ae 90typedef PACKED union {\r
2186f2a1 91 UINT8 Byte;\r
605466ae 92 PACKED struct {\r
2186f2a1
RN
93 UINT8 Length : 3;\r
94 UINT8 Name : 4;\r
95 UINT8 Type : 1;\r
96 } Bits;\r
97} ACPI_SMALL_RESOURCE_HEADER;\r
98\r
605466ae 99typedef PACKED struct {\r
100 PACKED union {\r
2186f2a1 101 UINT8 Byte;\r
605466ae 102 PACKED struct {\r
2186f2a1
RN
103 UINT8 Name : 7;\r
104 UINT8 Type : 1;\r
105 }Bits;\r
106 } Header;\r
107 UINT16 Length;\r
108} ACPI_LARGE_RESOURCE_HEADER;\r
109\r
110///\r
111/// IRQ Descriptor.\r
112///\r
113typedef PACKED struct {\r
114 ACPI_SMALL_RESOURCE_HEADER Header;\r
115 UINT16 Mask;\r
116} EFI_ACPI_IRQ_NOFLAG_DESCRIPTOR;\r
117\r
118///\r
119/// IRQ Descriptor.\r
120///\r
121typedef PACKED struct {\r
122 ACPI_SMALL_RESOURCE_HEADER Header;\r
123 UINT16 Mask;\r
124 UINT8 Information;\r
125} EFI_ACPI_IRQ_DESCRIPTOR;\r
126\r
127///\r
128/// DMA Descriptor.\r
129///\r
130typedef PACKED struct {\r
131 ACPI_SMALL_RESOURCE_HEADER Header;\r
132 UINT8 ChannelMask;\r
133 UINT8 Information;\r
134} EFI_ACPI_DMA_DESCRIPTOR;\r
135\r
136///\r
137/// I/O Port Descriptor\r
138///\r
139typedef PACKED struct {\r
140 ACPI_SMALL_RESOURCE_HEADER Header;\r
141 UINT8 Information;\r
142 UINT16 BaseAddressMin;\r
143 UINT16 BaseAddressMax;\r
144 UINT8 Alignment;\r
145 UINT8 Length;\r
146} EFI_ACPI_IO_PORT_DESCRIPTOR;\r
147\r
148///\r
149/// Fixed Location I/O Port Descriptor.\r
150///\r
151typedef PACKED struct {\r
152 ACPI_SMALL_RESOURCE_HEADER Header;\r
153 UINT16 BaseAddress;\r
154 UINT8 Length;\r
155} EFI_ACPI_FIXED_LOCATION_IO_PORT_DESCRIPTOR;\r
156\r
157///\r
158/// 32-Bit Memory Range Descriptor\r
159///\r
160typedef PACKED struct {\r
161 ACPI_LARGE_RESOURCE_HEADER Header;\r
162 UINT8 Information;\r
163 UINT32 BaseAddressMin;\r
164 UINT32 BaseAddressMax;\r
165 UINT32 Alignment;\r
166 UINT32 Length;\r
167} EFI_ACPI_32_BIT_MEMORY_RANGE_DESCRIPTOR;\r
168\r
169///\r
170/// Fixed 32-Bit Fixed Memory Range Descriptor\r
171///\r
172typedef PACKED struct {\r
173 ACPI_LARGE_RESOURCE_HEADER Header;\r
174 UINT8 Information;\r
175 UINT32 BaseAddress;\r
176 UINT32 Length;\r
177} EFI_ACPI_32_BIT_FIXED_MEMORY_RANGE_DESCRIPTOR;\r
98a33bf4 178#pragma pack()\r
179\r
427987f5 180///\r
af2dc6a7 181/// The End tag identifies an end of resource data.\r
427987f5 182///\r
ecc40942 183typedef struct {\r
184 UINT8 Desc;\r
185 UINT8 Checksum;\r
186} EFI_ACPI_END_TAG_DESCRIPTOR;\r
187\r
188//\r
189// General use definitions\r
190//\r
191#define EFI_ACPI_RESERVED_BYTE 0x00\r
192#define EFI_ACPI_RESERVED_WORD 0x0000\r
193#define EFI_ACPI_RESERVED_DWORD 0x00000000\r
194#define EFI_ACPI_RESERVED_QWORD 0x0000000000000000\r
195\r
196//\r
197// Resource Type Specific Flags\r
198// Ref ACPI specification 6.4.3.5.5\r
199//\r
200// Bit [0] : Write Status, _RW\r
201//\r
202#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_READ_WRITE (1 << 0)\r
203#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_READ_ONLY (0 << 0)\r
204//\r
205// Bit [2:1] : Memory Attributes, _MEM\r
206//\r
207#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_NON_CACHEABLE (0 << 1)\r
208#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_CACHEABLE (1 << 1)\r
209#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_CACHEABLE_WRITE_COMBINING (2 << 1)\r
210#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_CACHEABLE_PREFETCHABLE (3 << 1)\r
211//\r
212// Bit [4:3] : Memory Attributes, _MTP\r
213//\r
214#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_ADDRESS_RANGE_MEMORY (0 << 3)\r
215#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_ADDRESS_RANGE_RESERVED (1 << 3)\r
216#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_ADDRESS_RANGE_ACPI (2 << 3)\r
217#define EFI_APCI_MEMORY_RESOURCE_SPECIFIC_FLAG_ADDRESS_RANGE_NVS (3 << 3)\r
218//\r
219// Bit [5] : Memory to I/O Translation, _TTP\r
220//\r
221#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_TYPE_TRANSLATION (1 << 5)\r
222#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_TYPE_STATIC (0 << 5)\r
223\r
2186f2a1
RN
224//\r
225// IRQ Information\r
226// Ref ACPI specification 6.4.2.1\r
227//\r
228#define EFI_ACPI_IRQ_SHARABLE_MASK 0x10\r
229#define EFI_ACPI_IRQ_SHARABLE 0x10\r
230\r
231#define EFI_ACPI_IRQ_POLARITY_MASK 0x08\r
232#define EFI_ACPI_IRQ_HIGH_TRUE 0x00\r
233#define EFI_ACPI_IRQ_LOW_FALSE 0x08\r
234\r
235#define EFI_ACPI_IRQ_MODE 0x01\r
236#define EFI_ACPI_IRQ_LEVEL_TRIGGERED 0x00\r
237#define EFI_ACPI_IRQ_EDGE_TRIGGERED 0x01\r
238\r
239//\r
240// DMA Information\r
241// Ref ACPI specification 6.4.2.2\r
242//\r
243#define EFI_ACPI_DMA_SPEED_TYPE_MASK 0x60\r
244#define EFI_ACPI_DMA_SPEED_TYPE_COMPATIBILITY 0x00\r
245#define EFI_ACPI_DMA_SPEED_TYPE_A 0x20\r
246#define EFI_ACPI_DMA_SPEED_TYPE_B 0x40\r
247#define EFI_ACPI_DMA_SPEED_TYPE_F 0x60\r
248 \r
249#define EFI_ACPI_DMA_BUS_MASTER_MASK 0x04\r
250#define EFI_ACPI_DMA_BUS_MASTER 0x04\r
251\r
252#define EFI_ACPI_DMA_TRANSFER_TYPE_MASK 0x03\r
253#define EFI_ACPI_DMA_TRANSFER_TYPE_8_BIT 0x00\r
254#define EFI_ACPI_DMA_TRANSFER_TYPE_8_BIT_AND_16_BIT 0x01\r
255#define EFI_ACPI_DMA_TRANSFER_TYPE_16_BIT 0x10\r
256\r
257//\r
258// IO Information\r
259// Ref ACPI specification 6.4.2.5\r
260//\r
261#define EFI_ACPI_IO_DECODE_MASK 0x01\r
262#define EFI_ACPI_IO_DECODE_16_BIT 0x01\r
263#define EFI_ACPI_IO_DECODE_10_BIT 0x00\r
264\r
265//\r
266// Memory Information\r
267// Ref ACPI specification 6.4.3.4\r
268//\r
269#define EFI_ACPI_MEMORY_WRITE_STATUS_MASK 0x01\r
270#define EFI_ACPI_MEMORY_WRITABLE 0x01\r
271#define EFI_ACPI_MEMORY_NON_WRITABLE 0x00\r
272\r
766f4bc1 273//\r
274// Ensure proper structure formats\r
275//\r
276#pragma pack(1)\r
568eb0cb 277//\r
278// ACPI 1.0b table structures\r
279//\r
1bc5d021 280\r
281///\r
af2dc6a7 282/// Root System Description Pointer Structure.\r
1bc5d021 283///\r
568eb0cb 284typedef struct {\r
285 UINT64 Signature;\r
286 UINT8 Checksum;\r
287 UINT8 OemId[6];\r
288 UINT8 Reserved;\r
289 UINT32 RsdtAddress;\r
290} EFI_ACPI_1_0_ROOT_SYSTEM_DESCRIPTION_POINTER;\r
291\r
292//\r
293// Root System Description Table\r
2b1cf49a 294// No definition needed as it is a common description table header, the same with \r
295// EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT32 table pointers.\r
568eb0cb 296//\r
1bc5d021 297\r
298///\r
af2dc6a7 299/// RSDT Revision (as defined in ACPI 1.0b specification).\r
1bc5d021 300///\r
568eb0cb 301#define EFI_ACPI_1_0_ROOT_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01\r
302\r
1bc5d021 303///\r
af2dc6a7 304/// Fixed ACPI Description Table Structure (FADT).\r
1bc5d021 305///\r
568eb0cb 306typedef struct {\r
307 EFI_ACPI_DESCRIPTION_HEADER Header;\r
308 UINT32 FirmwareCtrl;\r
309 UINT32 Dsdt;\r
310 UINT8 IntModel;\r
311 UINT8 Reserved1;\r
312 UINT16 SciInt;\r
313 UINT32 SmiCmd;\r
314 UINT8 AcpiEnable;\r
315 UINT8 AcpiDisable;\r
316 UINT8 S4BiosReq;\r
317 UINT8 Reserved2;\r
318 UINT32 Pm1aEvtBlk;\r
319 UINT32 Pm1bEvtBlk;\r
320 UINT32 Pm1aCntBlk;\r
321 UINT32 Pm1bCntBlk;\r
322 UINT32 Pm2CntBlk;\r
323 UINT32 PmTmrBlk;\r
324 UINT32 Gpe0Blk;\r
325 UINT32 Gpe1Blk;\r
326 UINT8 Pm1EvtLen;\r
327 UINT8 Pm1CntLen;\r
328 UINT8 Pm2CntLen;\r
329 UINT8 PmTmLen;\r
330 UINT8 Gpe0BlkLen;\r
331 UINT8 Gpe1BlkLen;\r
332 UINT8 Gpe1Base;\r
333 UINT8 Reserved3;\r
334 UINT16 PLvl2Lat;\r
335 UINT16 PLvl3Lat;\r
336 UINT16 FlushSize;\r
337 UINT16 FlushStride;\r
338 UINT8 DutyOffset;\r
339 UINT8 DutyWidth;\r
340 UINT8 DayAlrm;\r
341 UINT8 MonAlrm;\r
342 UINT8 Century;\r
343 UINT8 Reserved4;\r
344 UINT8 Reserved5;\r
345 UINT8 Reserved6;\r
346 UINT32 Flags;\r
347} EFI_ACPI_1_0_FIXED_ACPI_DESCRIPTION_TABLE;\r
348\r
1bc5d021 349///\r
af2dc6a7 350/// FADT Version (as defined in ACPI 1.0b specification).\r
1bc5d021 351///\r
568eb0cb 352#define EFI_ACPI_1_0_FIXED_ACPI_DESCRIPTION_TABLE_REVISION 0x01\r
353\r
354//\r
355// Fixed ACPI Description Table Fixed Feature Flags\r
356// All other bits are reserved and must be set to 0.\r
357//\r
a2461f6b 358#define EFI_ACPI_1_0_WBINVD BIT0\r
359#define EFI_ACPI_1_0_WBINVD_FLUSH BIT1\r
360#define EFI_ACPI_1_0_PROC_C1 BIT2\r
361#define EFI_ACPI_1_0_P_LVL2_UP BIT3\r
362#define EFI_ACPI_1_0_PWR_BUTTON BIT4\r
363#define EFI_ACPI_1_0_SLP_BUTTON BIT5\r
364#define EFI_ACPI_1_0_FIX_RTC BIT6\r
365#define EFI_ACPI_1_0_RTC_S4 BIT7\r
366#define EFI_ACPI_1_0_TMR_VAL_EXT BIT8\r
367#define EFI_ACPI_1_0_DCK_CAP BIT9\r
568eb0cb 368\r
1bc5d021 369///\r
af2dc6a7 370/// Firmware ACPI Control Structure.\r
1bc5d021 371///\r
568eb0cb 372typedef struct {\r
373 UINT32 Signature;\r
374 UINT32 Length;\r
375 UINT32 HardwareSignature;\r
376 UINT32 FirmwareWakingVector;\r
377 UINT32 GlobalLock;\r
378 UINT32 Flags;\r
379 UINT8 Reserved[40];\r
380} EFI_ACPI_1_0_FIRMWARE_ACPI_CONTROL_STRUCTURE;\r
381\r
1bc5d021 382///\r
af2dc6a7 383/// Firmware Control Structure Feature Flags.\r
1bc5d021 384/// All other bits are reserved and must be set to 0.\r
385///\r
a2461f6b 386#define EFI_ACPI_1_0_S4BIOS_F BIT0\r
568eb0cb 387\r
1bc5d021 388///\r
389/// Multiple APIC Description Table header definition. The rest of the table\r
af2dc6a7 390/// must be defined in a platform-specific manner.\r
1bc5d021 391///\r
568eb0cb 392typedef struct {\r
393 EFI_ACPI_DESCRIPTION_HEADER Header;\r
394 UINT32 LocalApicAddress;\r
395 UINT32 Flags;\r
396} EFI_ACPI_1_0_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER;\r
397\r
1bc5d021 398///\r
af2dc6a7 399/// MADT Revision (as defined in ACPI 1.0b specification).\r
1bc5d021 400///\r
568eb0cb 401#define EFI_ACPI_1_0_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION 0x01\r
402\r
1bc5d021 403///\r
404/// Multiple APIC Flags\r
405/// All other bits are reserved and must be set to 0.\r
406///\r
a2461f6b 407#define EFI_ACPI_1_0_PCAT_COMPAT BIT0\r
568eb0cb 408\r
409//\r
410// Multiple APIC Description Table APIC structure types\r
2b1cf49a 411// All other values between 0x05 an 0xFF are reserved and\r
568eb0cb 412// will be ignored by OSPM.\r
413//\r
414#define EFI_ACPI_1_0_PROCESSOR_LOCAL_APIC 0x00\r
415#define EFI_ACPI_1_0_IO_APIC 0x01\r
416#define EFI_ACPI_1_0_INTERRUPT_SOURCE_OVERRIDE 0x02\r
417#define EFI_ACPI_1_0_NON_MASKABLE_INTERRUPT_SOURCE 0x03\r
418#define EFI_ACPI_1_0_LOCAL_APIC_NMI 0x04\r
419\r
420//\r
421// APIC Structure Definitions\r
422//\r
1bc5d021 423\r
424///\r
af2dc6a7 425/// Processor Local APIC Structure Definition.\r
1bc5d021 426///\r
568eb0cb 427typedef struct {\r
428 UINT8 Type;\r
429 UINT8 Length;\r
430 UINT8 AcpiProcessorId;\r
431 UINT8 ApicId;\r
432 UINT32 Flags;\r
433} EFI_ACPI_1_0_PROCESSOR_LOCAL_APIC_STRUCTURE;\r
434\r
1bc5d021 435///\r
436/// Local APIC Flags. All other bits are reserved and must be 0.\r
437///\r
a2461f6b 438#define EFI_ACPI_1_0_LOCAL_APIC_ENABLED BIT0\r
568eb0cb 439\r
1bc5d021 440///\r
af2dc6a7 441/// IO APIC Structure.\r
1bc5d021 442///\r
568eb0cb 443typedef struct {\r
444 UINT8 Type;\r
445 UINT8 Length;\r
446 UINT8 IoApicId;\r
447 UINT8 Reserved;\r
448 UINT32 IoApicAddress;\r
449 UINT32 SystemVectorBase;\r
450} EFI_ACPI_1_0_IO_APIC_STRUCTURE;\r
451\r
1bc5d021 452///\r
af2dc6a7 453/// Interrupt Source Override Structure.\r
1bc5d021 454///\r
568eb0cb 455typedef struct {\r
456 UINT8 Type;\r
457 UINT8 Length;\r
458 UINT8 Bus;\r
459 UINT8 Source;\r
460 UINT32 GlobalSystemInterruptVector;\r
461 UINT16 Flags;\r
462} EFI_ACPI_1_0_INTERRUPT_SOURCE_OVERRIDE_STRUCTURE;\r
463\r
1bc5d021 464///\r
af2dc6a7 465/// Non-Maskable Interrupt Source Structure.\r
1bc5d021 466///\r
568eb0cb 467typedef struct {\r
468 UINT8 Type;\r
469 UINT8 Length;\r
470 UINT16 Flags;\r
471 UINT32 GlobalSystemInterruptVector;\r
472} EFI_ACPI_1_0_NON_MASKABLE_INTERRUPT_SOURCE_STRUCTURE;\r
473\r
1bc5d021 474///\r
af2dc6a7 475/// Local APIC NMI Structure.\r
1bc5d021 476///\r
568eb0cb 477typedef struct {\r
478 UINT8 Type;\r
479 UINT8 Length;\r
480 UINT8 AcpiProcessorId;\r
481 UINT16 Flags;\r
482 UINT8 LocalApicInti;\r
483} EFI_ACPI_1_0_LOCAL_APIC_NMI_STRUCTURE;\r
484\r
1bc5d021 485///\r
486/// Smart Battery Description Table (SBST)\r
487///\r
568eb0cb 488typedef struct {\r
489 EFI_ACPI_DESCRIPTION_HEADER Header;\r
490 UINT32 WarningEnergyLevel;\r
491 UINT32 LowEnergyLevel;\r
492 UINT32 CriticalEnergyLevel;\r
493} EFI_ACPI_1_0_SMART_BATTERY_DESCRIPTION_TABLE;\r
494\r
495//\r
496// Known table signatures\r
497//\r
1bc5d021 498\r
499///\r
af2dc6a7 500/// "RSD PTR " Root System Description Pointer.\r
1bc5d021 501///\r
13c31065 502#define EFI_ACPI_1_0_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE SIGNATURE_64('R', 'S', 'D', ' ', 'P', 'T', 'R', ' ')\r
568eb0cb 503\r
1bc5d021 504///\r
af2dc6a7 505/// "APIC" Multiple APIC Description Table.\r
1bc5d021 506///\r
13c31065 507#define EFI_ACPI_1_0_APIC_SIGNATURE SIGNATURE_32('A', 'P', 'I', 'C')\r
568eb0cb 508\r
1bc5d021 509///\r
af2dc6a7 510/// "DSDT" Differentiated System Description Table.\r
1bc5d021 511///\r
13c31065 512#define EFI_ACPI_1_0_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('D', 'S', 'D', 'T')\r
568eb0cb 513\r
1bc5d021 514///\r
af2dc6a7 515/// "FACS" Firmware ACPI Control Structure.\r
1bc5d021 516///\r
13c31065 517#define EFI_ACPI_1_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE SIGNATURE_32('F', 'A', 'C', 'S')\r
568eb0cb 518\r
1bc5d021 519///\r
af2dc6a7 520/// "FACP" Fixed ACPI Description Table.\r
1bc5d021 521///\r
13c31065 522#define EFI_ACPI_1_0_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('F', 'A', 'C', 'P')\r
568eb0cb 523\r
1bc5d021 524///\r
af2dc6a7 525/// "PSDT" Persistent System Description Table.\r
1bc5d021 526///\r
13c31065 527#define EFI_ACPI_1_0_PERSISTENT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('P', 'S', 'D', 'T')\r
568eb0cb 528\r
1bc5d021 529///\r
af2dc6a7 530/// "RSDT" Root System Description Table.\r
1bc5d021 531///\r
13c31065 532#define EFI_ACPI_1_0_ROOT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('R', 'S', 'D', 'T')\r
568eb0cb 533\r
1bc5d021 534///\r
af2dc6a7 535/// "SBST" Smart Battery Specification Table.\r
1bc5d021 536///\r
13c31065 537#define EFI_ACPI_1_0_SMART_BATTERY_SPECIFICATION_TABLE_SIGNATURE SIGNATURE_32('S', 'B', 'S', 'T')\r
568eb0cb 538\r
1bc5d021 539///\r
af2dc6a7 540/// "SSDT" Secondary System Description Table.\r
1bc5d021 541///\r
13c31065 542#define EFI_ACPI_1_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('S', 'S', 'D', 'T')\r
568eb0cb 543\r
766f4bc1 544#pragma pack()\r
545\r
568eb0cb 546#endif\r