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