astable.c revision 1.1.1.7 1 /******************************************************************************
2 *
3 * Module Name: astable - Tables used for source conversion
4 *
5 *****************************************************************************/
6
7 /*
8 * Copyright (C) 2000 - 2016, Intel Corp.
9 * All rights reserved.
10 *
11 * Redistribution and use in source and binary forms, with or without
12 * modification, are permitted provided that the following conditions
13 * are met:
14 * 1. Redistributions of source code must retain the above copyright
15 * notice, this list of conditions, and the following disclaimer,
16 * without modification.
17 * 2. Redistributions in binary form must reproduce at minimum a disclaimer
18 * substantially similar to the "NO WARRANTY" disclaimer below
19 * ("Disclaimer") and any redistribution must be conditioned upon
20 * including a substantially similar Disclaimer requirement for further
21 * binary redistribution.
22 * 3. Neither the names of the above-listed copyright holders nor the names
23 * of any contributors may be used to endorse or promote products derived
24 * from this software without specific prior written permission.
25 *
26 * Alternatively, this software may be distributed under the terms of the
27 * GNU General Public License ("GPL") version 2 as published by the Free
28 * Software Foundation.
29 *
30 * NO WARRANTY
31 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
32 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
33 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
34 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
35 * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
36 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
37 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
38 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
39 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
40 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
41 * POSSIBILITY OF SUCH DAMAGES.
42 */
43
44 #include "acpisrc.h"
45 #include "acapps.h"
46
47
48 /******************************************************************************
49 *
50 * Standard/Common translation tables
51 *
52 ******************************************************************************/
53
54
55 ACPI_STRING_TABLE StandardDataTypes[] = {
56
57 /* Declarations first */
58
59 {"UINT32 ", "unsigned int", REPLACE_SUBSTRINGS},
60 {"UINT16 ", "unsigned short", REPLACE_SUBSTRINGS},
61 {"UINT8 ", "unsigned char", REPLACE_SUBSTRINGS},
62 {"BOOLEAN ", "unsigned char", REPLACE_SUBSTRINGS},
63
64 /* Now do embedded typecasts */
65
66 {"UINT32", "unsigned int", REPLACE_SUBSTRINGS},
67 {"UINT16", "unsigned short", REPLACE_SUBSTRINGS},
68 {"UINT8", "unsigned char", REPLACE_SUBSTRINGS},
69 {"BOOLEAN", "unsigned char", REPLACE_SUBSTRINGS},
70
71 {"INT32 ", "int ", REPLACE_SUBSTRINGS},
72 {"INT32", "int", REPLACE_SUBSTRINGS},
73 {"INT16", "short", REPLACE_SUBSTRINGS},
74 {"INT8", "char", REPLACE_SUBSTRINGS},
75
76 /* Put back anything we broke (such as anything with _INT32_ in it) */
77
78 {"_int_", "_INT32_", REPLACE_SUBSTRINGS},
79 {"_unsigned int_", "_UINT32_", REPLACE_SUBSTRINGS},
80 {NULL, NULL, 0}
81 };
82
83
84 /******************************************************************************
85 *
86 * Linux-specific translation tables
87 *
88 ******************************************************************************/
89
90 char DualLicenseHeader[] =
91 "/*\n"
92 " * Copyright (C) 2000 - 2016, Intel Corp.\n"
93 " * All rights reserved.\n"
94 " *\n"
95 " * Redistribution and use in source and binary forms, with or without\n"
96 " * modification, are permitted provided that the following conditions\n"
97 " * are met:\n"
98 " * 1. Redistributions of source code must retain the above copyright\n"
99 " * notice, this list of conditions, and the following disclaimer,\n"
100 " * without modification.\n"
101 " * 2. Redistributions in binary form must reproduce at minimum a disclaimer\n"
102 " * substantially similar to the \"NO WARRANTY\" disclaimer below\n"
103 " * (\"Disclaimer\") and any redistribution must be conditioned upon\n"
104 " * including a substantially similar Disclaimer requirement for further\n"
105 " * binary redistribution.\n"
106 " * 3. Neither the names of the above-listed copyright holders nor the names\n"
107 " * of any contributors may be used to endorse or promote products derived\n"
108 " * from this software without specific prior written permission.\n"
109 " *\n"
110 " * Alternatively, this software may be distributed under the terms of the\n"
111 " * GNU General Public License (\"GPL\") version 2 as published by the Free\n"
112 " * Software Foundation.\n"
113 " *\n"
114 " * NO WARRANTY\n"
115 " * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n"
116 " * \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n"
117 " * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR\n"
118 " * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n"
119 " * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n"
120 " * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n"
121 " * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n"
122 " * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\n"
123 " * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING\n"
124 " * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\n"
125 " * POSSIBILITY OF SUCH DAMAGES.\n"
126 " */\n";
127
128 ACPI_STRING_TABLE LinuxDataTypes[] = {
129
130 /*
131 * Extra space is added after the type so there is room to add "struct", "union",
132 * etc. when the existing struct typedefs are eliminated.
133 */
134
135 /* Declarations first - ACPI types and standard C types */
136
137 {"INT64 ", "s64 ", REPLACE_WHOLE_WORD | EXTRA_INDENT_C},
138 {"UINT64 ", "u64 ", REPLACE_WHOLE_WORD | EXTRA_INDENT_C},
139 {"UINT32 ", "u32 ", REPLACE_WHOLE_WORD | EXTRA_INDENT_C},
140 {"INT32 ", "s32 ", REPLACE_WHOLE_WORD | EXTRA_INDENT_C},
141 {"UINT16 ", "u16 ", REPLACE_WHOLE_WORD | EXTRA_INDENT_C},
142 {"INT16 ", "s16 ", REPLACE_WHOLE_WORD | EXTRA_INDENT_C},
143 {"UINT8 ", "u8 ", REPLACE_WHOLE_WORD | EXTRA_INDENT_C},
144 {"BOOLEAN ", "u8 ", REPLACE_WHOLE_WORD | EXTRA_INDENT_C},
145 {"char ", "char ", REPLACE_WHOLE_WORD | EXTRA_INDENT_C},
146 {"void ", "void ", REPLACE_WHOLE_WORD | EXTRA_INDENT_C},
147 {"char * ", "char * ", REPLACE_WHOLE_WORD | EXTRA_INDENT_C},
148 {"void * ", "void * ", REPLACE_WHOLE_WORD | EXTRA_INDENT_C},
149 {"int ", "int ", REPLACE_WHOLE_WORD | EXTRA_INDENT_C},
150 {"FILE ", "FILE ", REPLACE_WHOLE_WORD | EXTRA_INDENT_C},
151 {"size_t ", "size_t ", REPLACE_WHOLE_WORD | EXTRA_INDENT_C},
152
153 /* Now do embedded typecasts */
154
155 {"UINT64", "u64", REPLACE_WHOLE_WORD},
156 {"UINT32", "u32", REPLACE_WHOLE_WORD},
157 {"UINT16", "u16", REPLACE_WHOLE_WORD},
158 {"UINT8", "u8", REPLACE_WHOLE_WORD},
159 {"BOOLEAN", "u8", REPLACE_WHOLE_WORD},
160
161 {"INT64 ", "s64 ", REPLACE_WHOLE_WORD},
162 {"INT64", "s64", REPLACE_WHOLE_WORD},
163 {"INT32 ", "s32 ", REPLACE_WHOLE_WORD},
164 {"INT32", "s32", REPLACE_WHOLE_WORD},
165 {"INT16 ", "s16 ", REPLACE_WHOLE_WORD},
166 {"INT8 ", "s8 ", REPLACE_WHOLE_WORD},
167 {"INT16", "s16", REPLACE_WHOLE_WORD},
168 {"INT8", "s8", REPLACE_WHOLE_WORD},
169
170 {"__FUNCTION__", "__func__", REPLACE_WHOLE_WORD},
171
172 {NULL, NULL, 0}
173 };
174
175 ACPI_TYPED_IDENTIFIER_TABLE AcpiIdentifiers[] = {
176
177 {"ACPI_ADDRESS16_ATTRIBUTE", SRC_TYPE_STRUCT},
178 {"ACPI_ADDRESS32_ATTRIBUTE", SRC_TYPE_STRUCT},
179 {"ACPI_ADDRESS64_ATTRIBUTE", SRC_TYPE_STRUCT},
180 {"ACPI_ADDRESS_RANGE", SRC_TYPE_STRUCT},
181 {"ACPI_ADR_SPACE_HANDLER", SRC_TYPE_SIMPLE},
182 {"ACPI_ADR_SPACE_SETUP", SRC_TYPE_SIMPLE},
183 {"ACPI_ADR_SPACE_TYPE", SRC_TYPE_SIMPLE},
184 {"ACPI_AML_OPERANDS", SRC_TYPE_UNION},
185 {"ACPI_BIT_REGISTER_INFO", SRC_TYPE_STRUCT},
186 {"ACPI_BUFFER", SRC_TYPE_STRUCT},
187 {"ACPI_BUS_ATTRIBUTE", SRC_TYPE_STRUCT},
188 {"ACPI_CACHE_T", SRC_TYPE_SIMPLE},
189 {"ACPI_CMTABLE_HANDLER", SRC_TYPE_SIMPLE},
190 {"ACPI_COMMON_FACS", SRC_TYPE_STRUCT},
191 {"ACPI_COMMON_STATE", SRC_TYPE_STRUCT},
192 {"ACPI_COMMON_DESCRIPTOR", SRC_TYPE_STRUCT},
193 {"ACPI_COMPATIBLE_ID", SRC_TYPE_STRUCT},
194 {"ACPI_CONNECTION_INFO", SRC_TYPE_STRUCT},
195 {"ACPI_CONTROL_STATE", SRC_TYPE_STRUCT},
196 {"ACPI_CONVERSION_TABLE", SRC_TYPE_STRUCT},
197 {"ACPI_CPU_FLAGS", SRC_TYPE_SIMPLE},
198 {"ACPI_CREATE_FIELD_INFO", SRC_TYPE_STRUCT},
199 {"ACPI_DB_ARGUMENT_INFO", SRC_TYPE_STRUCT},
200 {"ACPI_DB_COMMAND_HELP", SRC_TYPE_STRUCT},
201 {"ACPI_DB_COMMAND_INFO", SRC_TYPE_STRUCT},
202 {"ACPI_DB_EXECUTE_WALK", SRC_TYPE_STRUCT},
203 {"ACPI_DB_METHOD_INFO", SRC_TYPE_STRUCT},
204 {"ACPI_DEBUG_MEM_BLOCK", SRC_TYPE_STRUCT},
205 {"ACPI_DEBUG_MEM_HEADER", SRC_TYPE_STRUCT},
206 {"ACPI_DEBUG_PRINT_INFO", SRC_TYPE_STRUCT},
207 {"ACPI_DESCRIPTOR", SRC_TYPE_UNION},
208 {"ACPI_DEVICE_INFO", SRC_TYPE_STRUCT},
209 {"ACPI_DEVICE_WALK_INFO", SRC_TYPE_STRUCT},
210 {"ACPI_DMTABLE_DATA", SRC_TYPE_STRUCT},
211 {"ACPI_DMTABLE_INFO", SRC_TYPE_STRUCT},
212 {"ACPI_DMTABLE_HANDLER", SRC_TYPE_SIMPLE},
213 {"ACPI_EVALUATE_INFO", SRC_TYPE_STRUCT},
214 {"ACPI_EVENT_HANDLER", SRC_TYPE_SIMPLE},
215 {"ACPI_EVENT_STATUS", SRC_TYPE_SIMPLE},
216 {"ACPI_EVENT_TYPE", SRC_TYPE_SIMPLE},
217 {"ACPI_EXCEPTION_HANDLER", SRC_TYPE_SIMPLE},
218 {"ACPI_EXCEPTION_INFO", SRC_TYPE_STRUCT},
219 {"ACPI_EXDUMP_INFO", SRC_TYPE_STRUCT},
220 {"ACPI_EXECUTE_OP", SRC_TYPE_SIMPLE},
221 {"ACPI_EXECUTE_TYPE", SRC_TYPE_SIMPLE},
222 {"ACPI_EXTERNAL_LIST", SRC_TYPE_STRUCT},
223 {"ACPI_EXTERNAL_FILE", SRC_TYPE_STRUCT},
224 {"ACPI_FADT_INFO", SRC_TYPE_STRUCT},
225 {"ACPI_FADT_PM_INFO", SRC_TYPE_STRUCT},
226 {"ACPI_FIELD_INFO", SRC_TYPE_STRUCT},
227 {"ACPI_FIND_CONTEXT", SRC_TYPE_STRUCT},
228 {"ACPI_FIXED_EVENT_HANDLER", SRC_TYPE_STRUCT},
229 {"ACPI_FIXED_EVENT_INFO", SRC_TYPE_STRUCT},
230 {"ACPI_GBL_EVENT_HANDLER", SRC_TYPE_SIMPLE},
231 {"ACPI_GENERIC_ADDRESS", SRC_TYPE_STRUCT},
232 {"ACPI_GENERIC_STATE", SRC_TYPE_UNION},
233 {"ACPI_GET_DEVICES_INFO", SRC_TYPE_STRUCT},
234 {"ACPI_GLOBAL_NOTIFY_HANDLER", SRC_TYPE_STRUCT},
235 {"ACPI_GPE_BLOCK_INFO", SRC_TYPE_STRUCT},
236 {"ACPI_GPE_CALLBACK", SRC_TYPE_SIMPLE},
237 {"ACPI_GPE_DEVICE_INFO", SRC_TYPE_STRUCT},
238 {"ACPI_GPE_EVENT_INFO", SRC_TYPE_STRUCT},
239 {"ACPI_GPE_HANDLER", SRC_TYPE_SIMPLE},
240 {"ACPI_GPE_HANDLER_INFO", SRC_TYPE_STRUCT},
241 {"ACPI_GPE_INDEX_INFO", SRC_TYPE_STRUCT},
242 {"ACPI_GPE_NOTIFY_INFO", SRC_TYPE_STRUCT},
243 {"ACPI_GPE_REGISTER_INFO", SRC_TYPE_STRUCT},
244 {"ACPI_GPE_WALK_INFO", SRC_TYPE_STRUCT},
245 {"ACPI_GPE_XRUPT_INFO", SRC_TYPE_STRUCT},
246 {"ACPI_GPIO_INFO", SRC_TYPE_STRUCT},
247 {"ACPI_HANDLE", SRC_TYPE_SIMPLE},
248 {"ACPI_HANDLER_INFO", SRC_TYPE_STRUCT},
249 {"ACPI_INIT_HANDLER", SRC_TYPE_SIMPLE},
250 {"ACPI_INTERFACE_HANDLER", SRC_TYPE_SIMPLE},
251 {"ACPI_IDENTIFIER_TABLE", SRC_TYPE_STRUCT},
252 {"ACPI_INIT_WALK_INFO", SRC_TYPE_STRUCT},
253 {"ACPI_INTEGER", SRC_TYPE_SIMPLE},
254 {"ACPI_INTEGER_OVERLAY", SRC_TYPE_STRUCT},
255 {"ACPI_INTEGRITY_INFO", SRC_TYPE_STRUCT},
256 {"ACPI_INTERFACE_INFO", SRC_TYPE_STRUCT},
257 {"ACPI_INTERNAL_METHOD", SRC_TYPE_SIMPLE},
258 {"ACPI_INTERPRETER_MODE", SRC_TYPE_SIMPLE},
259 {"ACPI_IO_ADDRESS", SRC_TYPE_SIMPLE},
260 {"ACPI_IO_ATTRIBUTE", SRC_TYPE_STRUCT},
261 {"ACPI_LPIT_HEADER", SRC_TYPE_STRUCT},
262 {"ACPI_LPIT_IO", SRC_TYPE_STRUCT},
263 {"ACPI_LPIT_NATIVE", SRC_TYPE_STRUCT},
264 {"ACPI_MEM_SPACE_CONTEXT", SRC_TYPE_STRUCT},
265 {"ACPI_MEMORY_ATTRIBUTE", SRC_TYPE_STRUCT},
266 {"ACPI_MEMORY_LIST", SRC_TYPE_STRUCT},
267 {"ACPI_METHOD_LOCAL", SRC_TYPE_STRUCT},
268 {"ACPI_MTMR_ENTRY", SRC_TYPE_STRUCT},
269 {"ACPI_MUTEX", SRC_TYPE_SIMPLE},
270 {"ACPI_MUTEX_HANDLE", SRC_TYPE_SIMPLE},
271 {"ACPI_MUTEX_INFO", SRC_TYPE_STRUCT},
272 {"ACPI_NAME", SRC_TYPE_SIMPLE},
273 {"ACPI_NAME_INFO", SRC_TYPE_STRUCT},
274 {"ACPI_NAME_UNION", SRC_TYPE_UNION},
275 {"ACPI_NAMESPACE_NODE", SRC_TYPE_STRUCT},
276 {"ACPI_NAMESTRING_INFO", SRC_TYPE_STRUCT},
277 {"ACPI_NATIVE_INT", SRC_TYPE_SIMPLE},
278 {"ACPI_NATIVE_UINT", SRC_TYPE_SIMPLE},
279 {"ACPI_NEW_TABLE_DESC", SRC_TYPE_STRUCT},
280 {"ACPI_NOTIFY_HANDLER", SRC_TYPE_SIMPLE},
281 {"ACPI_NOTIFY_INFO", SRC_TYPE_STRUCT},
282 {"ACPI_NS_SEARCH_DATA", SRC_TYPE_STRUCT},
283 {"ACPI_OBJ_INFO_HEADER", SRC_TYPE_STRUCT},
284 {"ACPI_OBJECT", SRC_TYPE_UNION},
285 {"ACPI_OBJECT_ADDR_HANDLER", SRC_TYPE_STRUCT},
286 {"ACPI_OBJECT_BANK_FIELD", SRC_TYPE_STRUCT},
287 {"ACPI_OBJECT_BUFFER", SRC_TYPE_STRUCT},
288 {"ACPI_OBJECT_BUFFER_FIELD", SRC_TYPE_STRUCT},
289 {"ACPI_OBJECT_CACHE_LIST", SRC_TYPE_STRUCT},
290 {"ACPI_OBJECT_COMMON", SRC_TYPE_STRUCT},
291 {"ACPI_OBJECT_CONVERTER", SRC_TYPE_SIMPLE},
292 {"ACPI_OBJECT_DATA", SRC_TYPE_STRUCT},
293 {"ACPI_OBJECT_DEVICE", SRC_TYPE_STRUCT},
294 {"ACPI_OBJECT_EVENT", SRC_TYPE_STRUCT},
295 {"ACPI_OBJECT_EXTRA", SRC_TYPE_STRUCT},
296 {"ACPI_OBJECT_FIELD_COMMON", SRC_TYPE_STRUCT},
297 {"ACPI_OBJECT_HANDLER", SRC_TYPE_SIMPLE},
298 {"ACPI_OBJECT_INDEX_FIELD", SRC_TYPE_STRUCT},
299 {"ACPI_OBJECT_INTEGER", SRC_TYPE_STRUCT},
300 {"ACPI_OBJECT_INFO", SRC_TYPE_STRUCT},
301 {"ACPI_OBJECT_LIST", SRC_TYPE_STRUCT},
302 {"ACPI_OBJECT_METHOD", SRC_TYPE_STRUCT},
303 {"ACPI_OBJECT_MUTEX", SRC_TYPE_STRUCT},
304 {"ACPI_OBJECT_NOTIFY_COMMON", SRC_TYPE_STRUCT},
305 {"ACPI_OBJECT_NOTIFY_HANDLER", SRC_TYPE_STRUCT},
306 {"ACPI_OBJECT_PACKAGE", SRC_TYPE_STRUCT},
307 {"ACPI_OBJECT_POWER_RESOURCE", SRC_TYPE_STRUCT},
308 {"ACPI_OBJECT_PROCESSOR", SRC_TYPE_STRUCT},
309 {"ACPI_OBJECT_REFERENCE", SRC_TYPE_STRUCT},
310 {"ACPI_OBJECT_REGION", SRC_TYPE_STRUCT},
311 {"ACPI_OBJECT_REGION_FIELD", SRC_TYPE_STRUCT},
312 {"ACPI_OBJECT_STRING", SRC_TYPE_STRUCT},
313 {"ACPI_OBJECT_THERMAL_ZONE", SRC_TYPE_STRUCT},
314 {"ACPI_OBJECT_TYPE", SRC_TYPE_SIMPLE},
315 {"ACPI_OBJECT_TYPE8", SRC_TYPE_SIMPLE},
316 {"ACPI_OP_WALK_INFO", SRC_TYPE_STRUCT},
317 {"ACPI_OPCODE_INFO", SRC_TYPE_STRUCT},
318 {"ACPI_OPERAND_OBJECT", SRC_TYPE_UNION},
319 {"ACPI_OSD_HANDLER", SRC_TYPE_SIMPLE},
320 {"ACPI_OSD_EXEC_CALLBACK", SRC_TYPE_SIMPLE},
321 {"ACPI_OWNER_ID", SRC_TYPE_SIMPLE},
322 {"ACPI_PACKAGE_INFO", SRC_TYPE_STRUCT},
323 {"ACPI_PACKAGE_INFO2", SRC_TYPE_STRUCT},
324 {"ACPI_PACKAGE_INFO3", SRC_TYPE_STRUCT},
325 {"ACPI_PACKAGE_INFO4", SRC_TYPE_STRUCT},
326 {"ACPI_PARSE_DOWNWARDS", SRC_TYPE_SIMPLE},
327 {"ACPI_PARSE_OBJ_ASL", SRC_TYPE_STRUCT},
328 {"ACPI_PARSE_OBJ_COMMON", SRC_TYPE_STRUCT},
329 {"ACPI_PARSE_OBJ_NAMED", SRC_TYPE_STRUCT},
330 {"ACPI_PARSE_OBJECT", SRC_TYPE_UNION},
331 {"ACPI_PARSE_STATE", SRC_TYPE_STRUCT},
332 {"ACPI_PARSE_UPWARDS", SRC_TYPE_SIMPLE},
333 {"ACPI_PARSE_VALUE", SRC_TYPE_UNION},
334 {"ACPI_PCI_DEVICE", SRC_TYPE_STRUCT},
335 {"ACPI_PCI_ID", SRC_TYPE_STRUCT},
336 {"ACPI_PCI_ROUTING_TABLE", SRC_TYPE_STRUCT},
337 {"ACPI_PHYSICAL_ADDRESS", SRC_TYPE_SIMPLE},
338 {"ACPI_PKG_CALLBACK", SRC_TYPE_SIMPLE},
339 {"ACPI_PKG_INFO", SRC_TYPE_STRUCT},
340 {"ACPI_PKG_STATE", SRC_TYPE_STRUCT},
341 {"ACPI_PMTT_HEADER", SRC_TYPE_STRUCT},
342 {"ACPI_PNP_DEVICE_ID", SRC_TYPE_STRUCT},
343 {"ACPI_PNP_DEVICE_ID_LIST", SRC_TYPE_STRUCT},
344 {"ACPI_POINTER", SRC_TYPE_STRUCT},
345 {"ACPI_POINTERS", SRC_TYPE_UNION},
346 {"ACPI_PORT_INFO", SRC_TYPE_STRUCT},
347 {"ACPI_PREDEFINED_DATA", SRC_TYPE_STRUCT},
348 {"ACPI_PREDEFINED_INFO", SRC_TYPE_UNION},
349 {"ACPI_PREDEFINED_NAMES", SRC_TYPE_STRUCT},
350 {"ACPI_PRUNE_INFO", SRC_TYPE_STRUCT},
351 {"ACPI_PSCOPE_STATE", SRC_TYPE_STRUCT},
352 {"ACPI_RASF_PARAMETER_BLOCK", SRC_TYPE_STRUCT},
353 {"ACPI_RASF_PATROL_SCRUB_PARAMETER", SRC_TYPE_STRUCT},
354 {"ACPI_RASF_SHARED_MEMORY", SRC_TYPE_STRUCT},
355 {"ACPI_REPAIR_FUNCTION", SRC_TYPE_SIMPLE},
356 {"ACPI_REPAIR_INFO", SRC_TYPE_STRUCT},
357 {"ACPI_REG_WALK_INFO", SRC_TYPE_STRUCT},
358 {"ACPI_RESOURCE", SRC_TYPE_STRUCT},
359 {"ACPI_RESOURCE_HANDLER", SRC_TYPE_SIMPLE},
360 {"ACPI_RESOURCE_ADDRESS", SRC_TYPE_STRUCT},
361 {"ACPI_RESOURCE_ADDRESS16", SRC_TYPE_STRUCT},
362 {"ACPI_RESOURCE_ADDRESS32", SRC_TYPE_STRUCT},
363 {"ACPI_RESOURCE_ADDRESS64", SRC_TYPE_STRUCT},
364 {"ACPI_RESOURCE_COMMON_SERIALBUS", SRC_TYPE_STRUCT},
365 {"ACPI_RESOURCE_EXTENDED_ADDRESS64", SRC_TYPE_STRUCT},
366 {"ACPI_RESOURCE_ATTRIBUTE", SRC_TYPE_UNION},
367 {"ACPI_RESOURCE_DATA", SRC_TYPE_UNION},
368 {"ACPI_RESOURCE_DMA", SRC_TYPE_STRUCT},
369 {"ACPI_RESOURCE_END_TAG", SRC_TYPE_STRUCT},
370 {"ACPI_RESOURCE_EXTENDED_IRQ", SRC_TYPE_STRUCT},
371 {"ACPI_RESOURCE_FIXED_DMA", SRC_TYPE_STRUCT},
372 {"ACPI_RESOURCE_FIXED_IO", SRC_TYPE_STRUCT},
373 {"ACPI_RESOURCE_FIXED_MEMORY32", SRC_TYPE_STRUCT},
374 {"ACPI_RESOURCE_GENERIC_REGISTER", SRC_TYPE_STRUCT},
375 {"ACPI_RESOURCE_GPIO", SRC_TYPE_STRUCT},
376 {"ACPI_RESOURCE_I2C_SERIALBUS", SRC_TYPE_STRUCT},
377 {"ACPI_RESOURCE_INFO", SRC_TYPE_STRUCT},
378 {"ACPI_RESOURCE_IO", SRC_TYPE_STRUCT},
379 {"ACPI_RESOURCE_IRQ", SRC_TYPE_STRUCT},
380 {"ACPI_RESOURCE_MEMORY24", SRC_TYPE_STRUCT},
381 {"ACPI_RESOURCE_MEMORY32", SRC_TYPE_STRUCT},
382 {"ACPI_RESOURCE_SOURCE", SRC_TYPE_STRUCT},
383 {"ACPI_RESOURCE_SPI_SERIALBUS", SRC_TYPE_STRUCT},
384 {"ACPI_RESOURCE_START_DEPENDENT", SRC_TYPE_STRUCT},
385 {"ACPI_RESOURCE_TAG", SRC_TYPE_STRUCT},
386 {"ACPI_RESOURCE_TYPE", SRC_TYPE_SIMPLE},
387 {"ACPI_RESOURCE_UART_SERIALBUS", SRC_TYPE_STRUCT},
388 {"ACPI_RESOURCE_VENDOR", SRC_TYPE_STRUCT},
389 {"ACPI_RESOURCE_VENDOR_TYPED", SRC_TYPE_STRUCT},
390 {"ACPI_RESULT_VALUES", SRC_TYPE_STRUCT},
391 {"ACPI_ROUND_UP_TO_32_BIT", SRC_TYPE_SIMPLE},
392 {"ACPI_RSCONVERT_INFO", SRC_TYPE_STRUCT},
393 {"ACPI_RSDUMP_INFO", SRC_TYPE_STRUCT},
394 {"ACPI_RW_LOCK", SRC_TYPE_STRUCT},
395 {"ACPI_S3PT_HEADER", SRC_TYPE_STRUCT},
396 {"ACPI_SCI_HANDLER", SRC_TYPE_SIMPLE},
397 {"ACPI_SCI_HANDLER_INFO", SRC_TYPE_STRUCT},
398 {"ACPI_SCOPE_STATE", SRC_TYPE_STRUCT},
399 {"ACPI_SEMAPHORE", SRC_TYPE_SIMPLE},
400 {"ACPI_SERIAL_INFO", SRC_TYPE_STRUCT},
401 {"ACPI_SIGNAL_FATAL_INFO", SRC_TYPE_STRUCT},
402 {"ACPI_SIMPLE_REPAIR_INFO", SRC_TYPE_STRUCT},
403 {"ACPI_SIZE", SRC_TYPE_SIMPLE},
404 {"ACPI_SLEEP_FUNCTION", SRC_TYPE_SIMPLE},
405 {"ACPI_SLEEP_FUNCTIONS", SRC_TYPE_STRUCT},
406 {"ACPI_SPINLOCK", SRC_TYPE_SIMPLE},
407 {"ACPI_STATISTICS", SRC_TYPE_STRUCT},
408 {"ACPI_STATUS", SRC_TYPE_SIMPLE},
409 {"ACPI_STRING", SRC_TYPE_SIMPLE},
410 {"ACPI_STRING_TABLE", SRC_TYPE_STRUCT},
411 {"ACPI_SUBTABLE_HEADER", SRC_TYPE_STRUCT},
412 {"ACPI_SYSTEM_INFO", SRC_TYPE_STRUCT},
413 {"ACPI_TABLE_DESC", SRC_TYPE_STRUCT},
414 {"ACPI_TABLE_HANDLER", SRC_TYPE_SIMPLE},
415 {"ACPI_TABLE_HEADER", SRC_TYPE_STRUCT},
416 {"ACPI_TABLE_INFO", SRC_TYPE_STRUCT},
417 {"ACPI_TABLE_LIST", SRC_TYPE_STRUCT},
418 {"ACPI_TABLE_LPIT", SRC_TYPE_STRUCT},
419 {"ACPI_TABLE_MTMR", SRC_TYPE_STRUCT},
420 {"ACPI_TABLE_SUPPORT", SRC_TYPE_STRUCT},
421 {"ACPI_TABLE_TYPE", SRC_TYPE_SIMPLE},
422 {"ACPI_TABLE_VRTC", SRC_TYPE_STRUCT},
423 {"ACPI_TAG_INFO", SRC_TYPE_STRUCT},
424 {"ACPI_THREAD_ID", SRC_TYPE_SIMPLE},
425 {"ACPI_THREAD_STATE", SRC_TYPE_STRUCT},
426 {"ACPI_TRACE_EVENT_TYPE", SRC_TYPE_SIMPLE},
427 {"ACPI_TYPED_IDENTIFIER_TABLE", SRC_TYPE_STRUCT},
428 {"ACPI_UINTPTR_T", SRC_TYPE_SIMPLE},
429 {"ACPI_UPDATE_STATE", SRC_TYPE_STRUCT},
430 {"ACPI_UUID", SRC_TYPE_STRUCT},
431 {"ACPI_VENDOR_UUID", SRC_TYPE_STRUCT},
432 {"ACPI_VENDOR_WALK_INFO", SRC_TYPE_STRUCT},
433 {"ACPI_VRTC_ENTRY", SRC_TYPE_STRUCT},
434 {"ACPI_WALK_AML_CALLBACK", SRC_TYPE_SIMPLE},
435 {"ACPI_WALK_CALLBACK", SRC_TYPE_SIMPLE},
436 {"ACPI_WALK_RESOURCE_CALLBACK", SRC_TYPE_SIMPLE},
437 {"ACPI_WALK_INFO", SRC_TYPE_STRUCT},
438 {"ACPI_WALK_STATE", SRC_TYPE_STRUCT},
439 {"ACPI_WHEA_HEADER", SRC_TYPE_STRUCT},
440
441 /* Buffers related to predefined ACPI names (_PLD, etc.) */
442
443 {"ACPI_FDE_INFO", SRC_TYPE_STRUCT},
444 {"ACPI_GRT_INFO", SRC_TYPE_STRUCT},
445 {"ACPI_GTM_INFO", SRC_TYPE_STRUCT},
446 {"ACPI_PLD_INFO", SRC_TYPE_STRUCT},
447
448 /* Resources */
449
450 {"ACPI_RS_LENGTH", SRC_TYPE_SIMPLE},
451 {"ACPI_RSDESC_SIZE", SRC_TYPE_SIMPLE},
452
453 {"AML_RESOURCE", SRC_TYPE_UNION},
454 {"AML_RESOURCE_ADDRESS", SRC_TYPE_STRUCT},
455 {"AML_RESOURCE_ADDRESS16", SRC_TYPE_STRUCT},
456 {"AML_RESOURCE_ADDRESS32", SRC_TYPE_STRUCT},
457 {"AML_RESOURCE_ADDRESS64", SRC_TYPE_STRUCT},
458 {"AML_RESOURCE_COMMON_SERIALBUS", SRC_TYPE_STRUCT},
459 {"AML_RESOURCE_DMA", SRC_TYPE_STRUCT},
460 {"AML_RESOURCE_END_DEPENDENT", SRC_TYPE_STRUCT},
461 {"AML_RESOURCE_END_TAG", SRC_TYPE_STRUCT},
462 {"AML_RESOURCE_EXTENDED_ADDRESS64", SRC_TYPE_STRUCT},
463 {"AML_RESOURCE_EXTENDED_IRQ", SRC_TYPE_STRUCT},
464 {"AML_RESOURCE_FIXED_DMA", SRC_TYPE_STRUCT},
465 {"AML_RESOURCE_FIXED_IO", SRC_TYPE_STRUCT},
466 {"AML_RESOURCE_FIXED_MEMORY32", SRC_TYPE_STRUCT},
467 {"AML_RESOURCE_GENERIC_REGISTER", SRC_TYPE_STRUCT},
468 {"AML_RESOURCE_GPIO", SRC_TYPE_STRUCT},
469 {"AML_RESOURCE_IO", SRC_TYPE_STRUCT},
470 {"AML_RESOURCE_I2C_SERIALBUS", SRC_TYPE_STRUCT},
471 {"AML_RESOURCE_IRQ", SRC_TYPE_STRUCT},
472 {"AML_RESOURCE_IRQ_NOFLAGS", SRC_TYPE_STRUCT},
473 {"AML_RESOURCE_LARGE_HEADER", SRC_TYPE_STRUCT},
474 {"AML_RESOURCE_MEMORY24", SRC_TYPE_STRUCT},
475 {"AML_RESOURCE_MEMORY32", SRC_TYPE_STRUCT},
476 {"AML_RESOURCE_SMALL_HEADER", SRC_TYPE_STRUCT},
477 {"AML_RESOURCE_SPI_SERIALBUS", SRC_TYPE_STRUCT},
478 {"AML_RESOURCE_START_DEPENDENT", SRC_TYPE_STRUCT},
479 {"AML_RESOURCE_START_DEPENDENT_NOPRIO", SRC_TYPE_STRUCT},
480 {"AML_RESOURCE_UART_SERIALBUS", SRC_TYPE_STRUCT},
481 {"AML_RESOURCE_VENDOR_LARGE", SRC_TYPE_STRUCT},
482 {"AML_RESOURCE_VENDOR_SMALL", SRC_TYPE_STRUCT},
483 {"AS_BRACE_INFO", SRC_TYPE_STRUCT},
484 {"AS_SCAN_CALLBACK", SRC_TYPE_SIMPLE},
485
486 {"APIC_HEADER", SRC_TYPE_STRUCT},
487 {"AE_DEBUG_REGIONS", SRC_TYPE_STRUCT},
488 {"AE_REGION", SRC_TYPE_STRUCT},
489 {"ASL_ANALYSIS_WALK_INFO", SRC_TYPE_STRUCT},
490 {"ASL_ERROR_MSG", SRC_TYPE_STRUCT},
491 {"ASL_ERROR_MSG", SRC_TYPE_STRUCT},
492 {"ASL_EVENT_INFO", SRC_TYPE_STRUCT},
493 {"ASL_FILE_INFO", SRC_TYPE_STRUCT},
494 {"ASL_FILE_STATUS", SRC_TYPE_STRUCT},
495 {"ASL_INCLUDE_DIR", SRC_TYPE_STRUCT},
496 {"ASL_LISTING_NODE", SRC_TYPE_STRUCT},
497 {"ASL_MAPPING_ENTRY", SRC_TYPE_STRUCT},
498 {"ASL_METHOD_INFO", SRC_TYPE_STRUCT},
499 {"ASL_METHOD_LOCAL", SRC_TYPE_STRUCT},
500 {"ASL_RESERVED_INFO", SRC_TYPE_STRUCT},
501 {"ASL_RESOURCE_INFO", SRC_TYPE_STRUCT},
502 {"ASL_RESOURCE_NODE", SRC_TYPE_STRUCT},
503 {"ASL_WALK_CALLBACK", SRC_TYPE_SIMPLE},
504 {"UINT64_OVERLAY", SRC_TYPE_UNION},
505 {"UINT64_STRUCT", SRC_TYPE_STRUCT},
506
507 /*
508 * Acpi table definition names.
509 */
510 {"ACPI_TABLE_ASF", SRC_TYPE_STRUCT},
511 {"ACPI_TABLE_BERT", SRC_TYPE_STRUCT},
512 {"ACPI_TABLE_BGRT", SRC_TYPE_STRUCT},
513 {"ACPI_TABLE_BOOT", SRC_TYPE_STRUCT},
514 {"ACPI_TABLE_CPEP", SRC_TYPE_STRUCT},
515 {"ACPI_TABLE_CSRT", SRC_TYPE_STRUCT},
516 {"ACPI_TABLE_DBG2", SRC_TYPE_STRUCT},
517 {"ACPI_TABLE_DBGP", SRC_TYPE_STRUCT},
518 {"ACPI_TABLE_DMAR", SRC_TYPE_STRUCT},
519 {"ACPI_TABLE_DRTM", SRC_TYPE_STRUCT},
520 {"ACPI_TABLE_ECDT", SRC_TYPE_STRUCT},
521 {"ACPI_TABLE_EINJ", SRC_TYPE_STRUCT},
522 {"ACPI_TABLE_ERST", SRC_TYPE_STRUCT},
523 {"ACPI_TABLE_FACS", SRC_TYPE_STRUCT},
524 {"ACPI_TABLE_FADT", SRC_TYPE_STRUCT},
525 {"ACPI_TABLE_FPDT", SRC_TYPE_STRUCT},
526 {"ACPI_TABLE_GTDT", SRC_TYPE_STRUCT},
527 {"ACPI_TABLE_HEST", SRC_TYPE_STRUCT},
528 {"ACPI_TABLE_HPET", SRC_TYPE_STRUCT},
529 {"ACPI_TABLE_IBFT", SRC_TYPE_STRUCT},
530 {"ACPI_TABLE_IORT", SRC_TYPE_STRUCT},
531 {"ACPI_TABLE_IVRS", SRC_TYPE_STRUCT},
532 {"ACPI_TABLE_MADT", SRC_TYPE_STRUCT},
533 {"ACPI_TABLE_MCFG", SRC_TYPE_STRUCT},
534 {"ACPI_TABLE_MCHI", SRC_TYPE_STRUCT},
535 {"ACPI_TABLE_MPST", SRC_TYPE_STRUCT},
536 {"ACPI_TABLE_MSCT", SRC_TYPE_STRUCT},
537 {"ACPI_TABLE_MSDM", SRC_TYPE_STRUCT},
538 {"ACPI_TABLE_NFIT", SRC_TYPE_STRUCT},
539 {"ACPI_TABLE_PCCT", SRC_TYPE_STRUCT},
540 {"ACPI_TABLE_RSDP", SRC_TYPE_STRUCT},
541 {"ACPI_TABLE_RSDT", SRC_TYPE_STRUCT},
542 {"ACPI_TABLE_MCHI", SRC_TYPE_STRUCT},
543 {"ACPI_TABLE_S3PT", SRC_TYPE_STRUCT},
544 {"ACPI_TABLE_SBST", SRC_TYPE_STRUCT},
545 {"ACPI_TABLE_SLIC", SRC_TYPE_STRUCT},
546 {"ACPI_TABLE_SLIT", SRC_TYPE_STRUCT},
547 {"ACPI_TABLE_SPCR", SRC_TYPE_STRUCT},
548 {"ACPI_TABLE_SPMI", SRC_TYPE_STRUCT},
549 {"ACPI_TABLE_SRAT", SRC_TYPE_STRUCT},
550 {"ACPI_TABLE_STAO", SRC_TYPE_STRUCT},
551 {"ACPI_TABLE_TCPA", SRC_TYPE_STRUCT},
552 {"ACPI_TABLE_TPM2", SRC_TYPE_STRUCT},
553 {"ACPI_TABLE_UEFI", SRC_TYPE_STRUCT},
554 {"ACPI_TABLE_WAET", SRC_TYPE_STRUCT},
555 {"ACPI_TABLE_WDAT", SRC_TYPE_STRUCT},
556 {"ACPI_TABLE_WDDT", SRC_TYPE_STRUCT},
557 {"ACPI_TABLE_WDRT", SRC_TYPE_STRUCT},
558 {"ACPI_TABLE_WPBT", SRC_TYPE_STRUCT},
559 {"ACPI_TABLE_XENV", SRC_TYPE_STRUCT},
560 {"ACPI_TABLE_XSDT", SRC_TYPE_STRUCT},
561
562 {"ACPI_ASF_ADDRESS", SRC_TYPE_STRUCT},
563 {"ACPI_ASF_ALERT", SRC_TYPE_STRUCT},
564 {"ACPI_ASF_ALERT_DATA", SRC_TYPE_STRUCT},
565 {"ACPI_ASF_CONTROL_DATA", SRC_TYPE_STRUCT},
566 {"ACPI_ASF_HEADER", SRC_TYPE_STRUCT},
567 {"ACPI_ASF_INFO", SRC_TYPE_STRUCT},
568 {"ACPI_ASF_REMOTE", SRC_TYPE_STRUCT},
569 {"ACPI_ASF_RMCP", SRC_TYPE_STRUCT},
570 {"ACPI_BERT_REGION", SRC_TYPE_STRUCT},
571 {"ACPI_CPEP_POLLING", SRC_TYPE_STRUCT},
572 {"ACPI_CSRT_GROUP", SRC_TYPE_STRUCT},
573 {"ACPI_CSRT_DESCRIPTOR", SRC_TYPE_STRUCT},
574 {"ACPI_CSRT_SHARED_INFO", SRC_TYPE_STRUCT},
575 {"ACPI_DBG2_DEVICE", SRC_TYPE_STRUCT},
576 {"ACPI_DMAR_HEADER", SRC_TYPE_STRUCT},
577 {"ACPI_DMAR_DEVICE_SCOPE", SRC_TYPE_STRUCT},
578 {"ACPI_DMAR_ANDD", SRC_TYPE_STRUCT},
579 {"ACPI_DMAR_ATSR", SRC_TYPE_STRUCT},
580 {"ACPI_DMAR_RHSA", SRC_TYPE_STRUCT},
581 {"ACPI_DMAR_HARDWARE_UNIT", SRC_TYPE_STRUCT},
582 {"ACPI_DMAR_RESERVED_MEMORY", SRC_TYPE_STRUCT},
583 {"ACPI_DRTM_DPS_ID", SRC_TYPE_STRUCT},
584 {"ACPI_DRTM_RESOURCE", SRC_TYPE_STRUCT},
585 {"ACPI_DRTM_RESOURCE_LIST", SRC_TYPE_STRUCT},
586 {"ACPI_DRTM_VTABLE_LIST", SRC_TYPE_STRUCT},
587 {"ACPI_EINJ_ENTRY", SRC_TYPE_STRUCT},
588 {"ACPI_EINJ_TRIGGER", SRC_TYPE_STRUCT},
589 {"ACPI_ERST_ENTRY", SRC_TYPE_STRUCT},
590 {"ACPI_ERST_INFO", SRC_TYPE_STRUCT},
591 {"ACPI_FPDT_HEADER", SRC_TYPE_STRUCT},
592 {"ACPI_FPDT_BOOT", SRC_TYPE_STRUCT},
593 {"ACPI_FPDT_S3PT_PTR", SRC_TYPE_STRUCT},
594 {"ACPI_GTDT_HEADER", SRC_TYPE_STRUCT},
595 {"ACPI_GTDT_TIMER_BLOCK", SRC_TYPE_STRUCT},
596 {"ACPI_GTDT_TIMER_ENTRY", SRC_TYPE_STRUCT},
597 {"ACPI_GTDT_WATCHDOG", SRC_TYPE_STRUCT},
598 {"ACPI_HEST_AER_COMMON", SRC_TYPE_STRUCT},
599 {"ACPI_HEST_HEADER", SRC_TYPE_STRUCT},
600 {"ACPI_HEST_NOTIFY", SRC_TYPE_STRUCT},
601 {"ACPI_HEST_IA_ERROR_BANK", SRC_TYPE_STRUCT},
602 {"ACPI_HEST_IA_MACHINE_CHECK", SRC_TYPE_STRUCT},
603 {"ACPI_HEST_IA_CORRECTED", SRC_TYPE_STRUCT},
604 {"ACPI_HEST_IA_NMI", SRC_TYPE_STRUCT},
605 {"ACPI_HEST_AER_ROOT", SRC_TYPE_STRUCT},
606 {"ACPI_HEST_AER", SRC_TYPE_STRUCT},
607 {"ACPI_HEST_AER_BRIDGE", SRC_TYPE_STRUCT},
608 {"ACPI_HEST_GENERIC", SRC_TYPE_STRUCT},
609 {"ACPI_HEST_GENERIC_STATUS", SRC_TYPE_STRUCT},
610 {"ACPI_HEST_GENERIC_DATA", SRC_TYPE_STRUCT},
611 {"ACPI_IBFT_HEADER", SRC_TYPE_STRUCT},
612 {"ACPI_IBFT_CONTROL", SRC_TYPE_STRUCT},
613 {"ACPI_IBFT_INITIATOR", SRC_TYPE_STRUCT},
614 {"ACPI_IBFT_NIC", SRC_TYPE_STRUCT},
615 {"ACPI_IBFT_TARGET", SRC_TYPE_STRUCT},
616 {"ACPI_IORT_ID_MAPPING", SRC_TYPE_STRUCT},
617 {"ACPI_IORT_ITS_GROUP", SRC_TYPE_STRUCT},
618 {"ACPI_IORT_MEMORY_ACCESS", SRC_TYPE_STRUCT},
619 {"ACPI_IORT_NAMED_COMPONENT", SRC_TYPE_STRUCT},
620 {"ACPI_IORT_NODE", SRC_TYPE_STRUCT},
621 {"ACPI_IORT_ROOT_COMPLEX", SRC_TYPE_STRUCT},
622 {"ACPI_IORT_SMMU", SRC_TYPE_STRUCT},
623 {"ACPI_IVRS_HEADER", SRC_TYPE_STRUCT},
624 {"ACPI_IVRS_HARDWARE", SRC_TYPE_STRUCT},
625 {"ACPI_IVRS_DE_HEADER", SRC_TYPE_STRUCT},
626 {"ACPI_IVRS_DEVICE4", SRC_TYPE_STRUCT},
627 {"ACPI_IVRS_DEVICE8A", SRC_TYPE_STRUCT},
628 {"ACPI_IVRS_DEVICE8B", SRC_TYPE_STRUCT},
629 {"ACPI_IVRS_DEVICE8C", SRC_TYPE_STRUCT},
630 {"ACPI_IVRS_MEMORY", SRC_TYPE_STRUCT},
631 {"ACPI_MADT_ADDRESS_OVERRIDE", SRC_TYPE_STRUCT},
632 {"ACPI_MADT_GENERIC_MSI_FRAME", SRC_TYPE_STRUCT},
633 {"ACPI_MADT_GENERIC_REDISTRIBUTOR", SRC_TYPE_STRUCT},
634 {"ACPI_MADT_HEADER", SRC_TYPE_STRUCT},
635 {"ACPI_MADT_IO_APIC", SRC_TYPE_STRUCT},
636 {"ACPI_MADT_IO_SAPIC", SRC_TYPE_STRUCT},
637 {"ACPI_MADT_LOCAL_APIC", SRC_TYPE_STRUCT},
638 {"ACPI_MADT_LOCAL_APIC_NMI", SRC_TYPE_STRUCT},
639 {"ACPI_MADT_LOCAL_APIC_OVERRIDE", SRC_TYPE_STRUCT},
640 {"ACPI_MADT_LOCAL_SAPIC", SRC_TYPE_STRUCT},
641 {"ACPI_MADT_LOCAL_X2APIC", SRC_TYPE_STRUCT},
642 {"ACPI_MADT_LOCAL_X2APIC_NMI", SRC_TYPE_STRUCT},
643 {"ACPI_MADT_GENERIC_DISTRIBUTOR", SRC_TYPE_STRUCT},
644 {"ACPI_MADT_GENERIC_INTERRUPT", SRC_TYPE_STRUCT},
645 {"ACPI_MADT_INTERRUPT_OVERRIDE", SRC_TYPE_STRUCT},
646 {"ACPI_MADT_INTERRUPT_SOURCE", SRC_TYPE_STRUCT},
647 {"ACPI_MADT_NMI_SOURCE", SRC_TYPE_STRUCT},
648 {"ACPI_MADT_PROCESSOR_APIC", SRC_TYPE_STRUCT},
649 {"ACPI_MPST_COMPONENT", SRC_TYPE_STRUCT},
650 {"ACPI_MPST_DATA_HDR", SRC_TYPE_STRUCT},
651 {"ACPI_MPST_POWER_DATA", SRC_TYPE_STRUCT},
652 {"ACPI_MPST_POWER_NODE", SRC_TYPE_STRUCT},
653 {"ACPI_MPST_POWER_STATE", SRC_TYPE_STRUCT},
654 {"ACPI_MCFG_ALLOCATION", SRC_TYPE_STRUCT},
655 {"ACPI_MSCT_PROXIMITY", SRC_TYPE_STRUCT},
656 {"ACPI_NFIT_HEADER", SRC_TYPE_STRUCT},
657 {"ACPI_NFIT_SYSTEM_ADDRESS", SRC_TYPE_STRUCT},
658 {"ACPI_NFIT_MEMORY_MAP", SRC_TYPE_STRUCT},
659 {"ACPI_NFIT_INTERLEAVE", SRC_TYPE_STRUCT},
660 {"ACPI_NFIT_SMBIOS", SRC_TYPE_STRUCT},
661 {"ACPI_NFIT_CONTROL_REGION", SRC_TYPE_STRUCT},
662 {"ACPI_NFIT_DATA_REGION", SRC_TYPE_STRUCT},
663 {"ACPI_NFIT_FLUSH_ADDRESS", SRC_TYPE_STRUCT},
664 {"ACPI_PCCT_HW_REDUCED", SRC_TYPE_STRUCT},
665 {"ACPI_PCCT_SHARED_MEMORY", SRC_TYPE_STRUCT},
666 {"ACPI_PCCT_SUBSPACE", SRC_TYPE_STRUCT},
667 {"ACPI_RSDP_COMMON", SRC_TYPE_STRUCT},
668 {"ACPI_RSDP_EXTENSION", SRC_TYPE_STRUCT},
669 {"ACPI_S3PT_RESUME", SRC_TYPE_STRUCT},
670 {"ACPI_S3PT_SUSPEND", SRC_TYPE_STRUCT},
671 {"ACPI_SRAT_CPU_AFFINITY", SRC_TYPE_STRUCT},
672 {"ACPI_SRAT_HEADER", SRC_TYPE_STRUCT},
673 {"ACPI_SRAT_MEM_AFFINITY", SRC_TYPE_STRUCT},
674 {"ACPI_SRAT_X2APIC_CPU_AFFINITY", SRC_TYPE_STRUCT},
675 {"ACPI_SRAT_GICC_AFFINITY", SRC_TYPE_STRUCT},
676 {"ACPI_TABLE_TCPA_CLIENT", SRC_TYPE_STRUCT},
677 {"ACPI_TABLE_TCPA_SERVER", SRC_TYPE_STRUCT},
678 {"ACPI_TPM2_CONTROL", SRC_TYPE_STRUCT},
679 {"ACPI_WDAT_ENTRY", SRC_TYPE_STRUCT},
680
681 /* Data Table compiler */
682
683 {"DT_FIELD", SRC_TYPE_STRUCT},
684 {"DT_SUBTABLE", SRC_TYPE_STRUCT},
685 {"DT_WALK_CALLBACK", SRC_TYPE_SIMPLE},
686
687 /* iASL preprocessor */
688
689 {"PR_DEFINE_INFO", SRC_TYPE_STRUCT},
690 {"PR_DIRECTIVE_INFO", SRC_TYPE_STRUCT},
691 {"PR_FILE_NODE", SRC_TYPE_STRUCT},
692 {"PR_LINE_MAPPING", SRC_TYPE_STRUCT},
693 {"PR_MACRO_ARG", SRC_TYPE_STRUCT},
694 {"PR_OPERATOR_INFO", SRC_TYPE_STRUCT},
695
696 /* AcpiDump utility */
697
698 {"AP_DUMP_ACTION", SRC_TYPE_STRUCT},
699
700 /* AcpiHelp utility */
701
702 {"AH_AML_OPCODE", SRC_TYPE_STRUCT},
703 {"AH_ASL_OPERATOR", SRC_TYPE_STRUCT},
704 {"AH_ASL_KEYWORD", SRC_TYPE_STRUCT},
705 {"AH_DEVICE_ID", SRC_TYPE_STRUCT},
706 {"AH_PREDEFINED_NAME", SRC_TYPE_STRUCT},
707 {"AH_UUID", SRC_TYPE_STRUCT},
708
709 /* AcpiXtract utility */
710
711 {"AX_TABLE_INFO", SRC_TYPE_STRUCT},
712
713 /* OS service layers */
714
715 {"EXTERNAL_FIND_INFO", SRC_TYPE_STRUCT},
716 {"OSL_TABLE_INFO", SRC_TYPE_STRUCT},
717
718 {NULL, 0}
719 };
720
721
722 ACPI_IDENTIFIER_TABLE LinuxAddStruct[] = {
723 {"acpi_namespace_node"},
724 {"acpi_parse_object"},
725 {"acpi_table_desc"},
726 {"acpi_walk_state"},
727 {NULL}
728 };
729
730
731 ACPI_IDENTIFIER_TABLE LinuxEliminateLines_C[] = {
732
733 {"#define __"},
734 {NULL}
735 };
736
737
738 ACPI_IDENTIFIER_TABLE LinuxEliminateLines_H[] = {
739
740 {NULL}
741 };
742
743
744 ACPI_IDENTIFIER_TABLE LinuxConditionalIdentifiers[] = {
745
746 /* {"ACPI_USE_STANDARD_HEADERS"}, */
747 {"WIN32"},
748 {"_MSC_VER"},
749 {NULL}
750 };
751
752
753 ACPI_STRING_TABLE LinuxSpecialStrings[] = {
754
755 /* Include file paths */
756
757 {"\"acpi.h\"", "<acpi/acpi.h>", REPLACE_WHOLE_WORD},
758 {"\"acpiosxf.h\"", "<acpi/acpiosxf.h>", REPLACE_WHOLE_WORD},
759 {"\"acpixf.h\"", "<acpi/acpixf.h>", REPLACE_WHOLE_WORD},
760 {"\"acbuffer.h\"", "<acpi/acbuffer.h>", REPLACE_WHOLE_WORD},
761 {"\"acconfig.h\"", "<acpi/acconfig.h>", REPLACE_WHOLE_WORD},
762 {"\"acexcep.h\"", "<acpi/acexcep.h>", REPLACE_WHOLE_WORD},
763 {"\"acnames.h\"", "<acpi/acnames.h>", REPLACE_WHOLE_WORD},
764 {"\"acoutput.h\"", "<acpi/acoutput.h>", REPLACE_WHOLE_WORD},
765 {"\"acrestyp.h\"", "<acpi/acrestyp.h>", REPLACE_WHOLE_WORD},
766 {"\"actbl.h\"", "<acpi/actbl.h>", REPLACE_WHOLE_WORD},
767 {"\"actbl1.h\"", "<acpi/actbl1.h>", REPLACE_WHOLE_WORD},
768 {"\"actbl2.h\"", "<acpi/actbl2.h>", REPLACE_WHOLE_WORD},
769 {"\"actbl3.h\"", "<acpi/actbl3.h>", REPLACE_WHOLE_WORD},
770 {"\"actypes.h\"", "<acpi/actypes.h>", REPLACE_WHOLE_WORD},
771 {"\"platform/acenv.h\"", "<acpi/platform/acenv.h>", REPLACE_WHOLE_WORD},
772 {"\"platform/acenvex.h\"", "<acpi/platform/acenvex.h>", REPLACE_WHOLE_WORD},
773 {"\"acgcc.h\"", "<acpi/platform/acgcc.h>", REPLACE_WHOLE_WORD},
774 {"\"aclinux.h\"", "<acpi/platform/aclinux.h>", REPLACE_WHOLE_WORD},
775 {"\"aclinuxex.h\"", "<acpi/platform/aclinuxex.h>", REPLACE_WHOLE_WORD},
776
777 {NULL, NULL, 0}
778 };
779
780
781 ACPI_IDENTIFIER_TABLE LinuxSpecialMacros[] = {
782
783 {"ACPI_DBG_DEPENDENT_RETURN_VOID"},
784 {"ACPI_EXPORT_SYMBOL"},
785 {"ACPI_EXPORT_SYMBOL_INIT"},
786 {"ACPI_EXTERNAL_RETURN_OK"},
787 {"ACPI_EXTERNAL_RETURN_PTR"},
788 {"ACPI_EXTERNAL_RETURN_STATUS"},
789 {"ACPI_EXTERNAL_RETURN_UINT32"},
790 {"ACPI_EXTERNAL_RETURN_VOID"},
791 {"ACPI_HW_DEPENDENT_RETURN_OK"},
792 {"ACPI_HW_DEPENDENT_RETURN_STATUS"},
793 {"ACPI_HW_DEPENDENT_RETURN_VOID"},
794 {"ACPI_MSG_DEPENDENT_RETURN_VOID"},
795
796 {NULL}
797 };
798
799
800 ACPI_CONVERSION_TABLE LinuxConversionTable =
801 {
802 DualLicenseHeader,
803 FLG_NO_CARRIAGE_RETURNS | FLG_LOWERCASE_DIRNAMES,
804
805 AcpiIdentifiers,
806
807 /* C source files */
808
809 LinuxDataTypes,
810 LinuxEliminateLines_C,
811 NULL,
812 NULL,
813 AcpiIdentifiers,
814 NULL,
815 (CVT_COUNT_TABS | CVT_COUNT_NON_ANSI_COMMENTS | CVT_COUNT_LINES |
816 CVT_CHECK_BRACES | CVT_TRIM_LINES | CVT_BRACES_ON_SAME_LINE |
817 CVT_MIXED_CASE_TO_UNDERSCORES | CVT_LOWER_CASE_IDENTIFIERS |
818 CVT_REMOVE_DEBUG_MACROS | CVT_TRIM_WHITESPACE |
819 CVT_REMOVE_EMPTY_BLOCKS | CVT_SPACES_TO_TABS8),
820
821 /* C header files */
822
823 LinuxDataTypes,
824 LinuxEliminateLines_H,
825 LinuxConditionalIdentifiers,
826 NULL,
827 AcpiIdentifiers,
828 NULL,
829 (CVT_COUNT_TABS | CVT_COUNT_NON_ANSI_COMMENTS | CVT_COUNT_LINES |
830 CVT_TRIM_LINES | CVT_MIXED_CASE_TO_UNDERSCORES |
831 CVT_LOWER_CASE_IDENTIFIERS | CVT_TRIM_WHITESPACE |
832 CVT_REMOVE_EMPTY_BLOCKS| CVT_REDUCE_TYPEDEFS | CVT_SPACES_TO_TABS8),
833
834 /* Patch files */
835
836 LinuxDataTypes,
837 NULL,
838 NULL,
839 NULL,
840 AcpiIdentifiers,
841 NULL,
842 (CVT_COUNT_TABS | CVT_COUNT_NON_ANSI_COMMENTS | CVT_COUNT_LINES |
843 CVT_MIXED_CASE_TO_UNDERSCORES),
844 };
845
846
847 /******************************************************************************
848 *
849 * Code cleanup translation tables
850 *
851 ******************************************************************************/
852
853 ACPI_CONVERSION_TABLE CleanupConversionTable =
854 {
855 NULL,
856 FLG_DEFAULT_FLAGS,
857 NULL,
858 /* C source files */
859
860 NULL,
861 NULL,
862 NULL,
863 NULL,
864 NULL,
865 NULL,
866 (CVT_COUNT_TABS | CVT_COUNT_NON_ANSI_COMMENTS | CVT_COUNT_LINES |
867 CVT_CHECK_BRACES | CVT_TRIM_LINES | CVT_TRIM_WHITESPACE),
868
869 /* C header files */
870
871 NULL,
872 NULL,
873 NULL,
874 NULL,
875 NULL,
876 NULL,
877 (CVT_COUNT_TABS | CVT_COUNT_NON_ANSI_COMMENTS | CVT_COUNT_LINES |
878 CVT_TRIM_LINES | CVT_TRIM_WHITESPACE),
879
880 /* Patch files */
881
882 NULL,
883 NULL,
884 NULL,
885 NULL,
886 NULL,
887 NULL,
888 (CVT_COUNT_TABS | CVT_COUNT_NON_ANSI_COMMENTS | CVT_COUNT_LINES),
889 };
890
891
892 ACPI_CONVERSION_TABLE StatsConversionTable =
893 {
894 NULL,
895 FLG_NO_FILE_OUTPUT,
896 NULL,
897
898 /* C source files */
899
900 NULL,
901 NULL,
902 NULL,
903 NULL,
904 NULL,
905 NULL,
906 (CVT_COUNT_TABS | CVT_COUNT_NON_ANSI_COMMENTS | CVT_COUNT_LINES |
907 CVT_COUNT_SHORTMULTILINE_COMMENTS),
908
909 /* C header files */
910
911 NULL,
912 NULL,
913 NULL,
914 NULL,
915 NULL,
916 NULL,
917 (CVT_COUNT_TABS | CVT_COUNT_NON_ANSI_COMMENTS | CVT_COUNT_LINES |
918 CVT_COUNT_SHORTMULTILINE_COMMENTS),
919
920 /* Patch files */
921
922 NULL,
923 NULL,
924 NULL,
925 NULL,
926 NULL,
927 NULL,
928 (CVT_COUNT_TABS | CVT_COUNT_NON_ANSI_COMMENTS | CVT_COUNT_LINES |
929 CVT_COUNT_SHORTMULTILINE_COMMENTS),
930 };
931
932
933 /******************************************************************************
934 *
935 * Dual License injection translation table
936 *
937 ******************************************************************************/
938
939 ACPI_CONVERSION_TABLE LicenseConversionTable =
940 {
941 DualLicenseHeader,
942 FLG_DEFAULT_FLAGS,
943 NULL,
944
945 /* C source files */
946
947 NULL,
948 NULL,
949 NULL,
950 NULL,
951 NULL,
952 NULL,
953 (CVT_COUNT_TABS | CVT_COUNT_NON_ANSI_COMMENTS | CVT_COUNT_LINES |
954 CVT_COUNT_SHORTMULTILINE_COMMENTS),
955
956 /* C header files */
957
958 NULL,
959 NULL,
960 NULL,
961 NULL,
962 NULL,
963 NULL,
964 (CVT_COUNT_TABS | CVT_COUNT_NON_ANSI_COMMENTS | CVT_COUNT_LINES |
965 CVT_COUNT_SHORTMULTILINE_COMMENTS),
966
967 /* Patch files */
968
969 NULL,
970 NULL,
971 NULL,
972 NULL,
973 NULL,
974 NULL,
975 (CVT_COUNT_TABS | CVT_COUNT_NON_ANSI_COMMENTS | CVT_COUNT_LINES |
976 CVT_COUNT_SHORTMULTILINE_COMMENTS),
977 };
978
979
980 /******************************************************************************
981 *
982 * Customizable translation tables
983 *
984 ******************************************************************************/
985
986 ACPI_STRING_TABLE CustomReplacements[] =
987 {
988 {"(c) 1999 - 2016", "(c) 1999 - 2016", REPLACE_WHOLE_WORD}, /* Main ACPICA source */
989 {"(c) 2006 - 2016", "(c) 2006 - 2016", REPLACE_WHOLE_WORD}, /* Test suites */
990
991 #if 0
992 {"SUPPORT, ASSISTANCE", "SUPPORT, ASSISTANCE", REPLACE_WHOLE_WORD}, /* Fix intel header */
993
994 {"(ACPI_INTEGER)", "(UINT64)", REPLACE_WHOLE_WORD},
995 {"ACPI_INTEGER ", "UINT64 ", REPLACE_WHOLE_WORD},
996 {"ACPI_INTEGER", "UINT64", REPLACE_WHOLE_WORD},
997 {"ACPI_INTEGER_MAX", "ACPI_UINT64_MAX", REPLACE_WHOLE_WORD},
998 {"#include \"acpi.h\"", "#include \"acpi.h\"\n#include \"accommon.h\"", REPLACE_SUBSTRINGS},
999 {"AcpiTbSumTable", "AcpiTbSumTable", REPLACE_WHOLE_WORD},
1000 {"ACPI_SIG_BOOT", "ACPI_SIG_BOOT", REPLACE_WHOLE_WORD},
1001 {"ACPI_SIG_DBGP", "ACPI_SIG_DBGP", REPLACE_WHOLE_WORD},
1002 {"ACPI_SIG_DSDT", "ACPI_SIG_DSDT", REPLACE_WHOLE_WORD},
1003 {"ACPI_SIG_ECDT", "ACPI_SIG_ECDT", REPLACE_WHOLE_WORD},
1004 {"ACPI_SIG_FACS", "ACPI_SIG_FACS", REPLACE_WHOLE_WORD},
1005 {"ACPI_SIG_FADT", "ACPI_SIG_FADT", REPLACE_WHOLE_WORD},
1006 {"ACPI_SIG_HPET", "ACPI_SIG_HPET", REPLACE_WHOLE_WORD},
1007 {"ACPI_SIG_MADT", "ACPI_SIG_MADT", REPLACE_WHOLE_WORD},
1008 {"ACPI_SIG_MCFG", "ACPI_SIG_MCFG", REPLACE_WHOLE_WORD},
1009 {"ACPI_SIG_PSDT", "ACPI_SIG_PSDT", REPLACE_WHOLE_WORD},
1010 {"ACPI_NAME_RSDP", "ACPI_NAME_RSDP", REPLACE_WHOLE_WORD},
1011 {"ACPI_SIG_RSDP", "ACPI_SIG_RSDP", REPLACE_WHOLE_WORD},
1012 {"ACPI_SIG_RSDT", "ACPI_SIG_RSDT", REPLACE_WHOLE_WORD},
1013 {"ACPI_SIG_SBST", "ACPI_SIG_SBST", REPLACE_WHOLE_WORD},
1014 {"ACPI_SIG_SLIT", "ACPI_SIG_SLIT", REPLACE_WHOLE_WORD},
1015 {"ACPI_SIG_SPCR", "ACPI_SIG_SPCR", REPLACE_WHOLE_WORD},
1016 {"ACPI_SIG_SPIC", "ACPI_SIG_SPIC", REPLACE_WHOLE_WORD},
1017 {"ACPI_SIG_SPMI", "ACPI_SIG_SPMI", REPLACE_WHOLE_WORD},
1018 {"ACPI_SIG_SRAT", "ACPI_SIG_SRAT", REPLACE_WHOLE_WORD},
1019 {"ACPI_SIG_SSDT", "ACPI_SIG_SSDT", REPLACE_WHOLE_WORD},
1020 {"ACPI_SIG_TCPA", "ACPI_SIG_TCPA", REPLACE_WHOLE_WORD},
1021 {"ACPI_SIG_WDRT", "ACPI_SIG_WDRT", REPLACE_WHOLE_WORD},
1022 {"ACPI_SIG_XSDT", "ACPI_SIG_XSDT", REPLACE_WHOLE_WORD},
1023
1024 {"ACPI_ALLOCATE_ZEROED", "ACPI_ALLOCATE_ZEROED", REPLACE_WHOLE_WORD},
1025 {"ACPI_ALLOCATE", "ACPI_ALLOCATE", REPLACE_WHOLE_WORD},
1026 {"ACPI_FREE", "ACPI_FREE", REPLACE_WHOLE_WORD},
1027
1028 "ACPI_NATIVE_UINT", "ACPI_NATIVE_UINT", REPLACE_WHOLE_WORD,
1029 "ACPI_NATIVE_UINT *", "ACPI_NATIVE_UINT *", REPLACE_WHOLE_WORD,
1030 "ACPI_NATIVE_UINT", "ACPI_NATIVE_UINT", REPLACE_WHOLE_WORD,
1031 "ACPI_NATIVE_INT", "ACPI_NATIVE_INT", REPLACE_WHOLE_WORD,
1032 "ACPI_NATIVE_INT *", "ACPI_NATIVE_INT *", REPLACE_WHOLE_WORD,
1033 "ACPI_NATIVE_INT", "ACPI_NATIVE_INT", REPLACE_WHOLE_WORD,
1034 #endif
1035
1036 {NULL, NULL, 0}
1037 };
1038
1039
1040 ACPI_CONVERSION_TABLE CustomConversionTable =
1041 {
1042 NULL,
1043 FLG_DEFAULT_FLAGS,
1044 NULL,
1045
1046 /* C source files */
1047
1048 CustomReplacements,
1049 LinuxEliminateLines_H,
1050 NULL,
1051 NULL,
1052 NULL,
1053 NULL,
1054 (CVT_COUNT_TABS | CVT_COUNT_NON_ANSI_COMMENTS | CVT_COUNT_LINES |
1055 CVT_TRIM_LINES | CVT_TRIM_WHITESPACE),
1056
1057 /* C header files */
1058
1059 CustomReplacements,
1060 LinuxEliminateLines_H,
1061 NULL,
1062 NULL,
1063 NULL,
1064 NULL,
1065 (CVT_COUNT_TABS | CVT_COUNT_NON_ANSI_COMMENTS | CVT_COUNT_LINES |
1066 CVT_TRIM_LINES | CVT_TRIM_WHITESPACE),
1067
1068 /* C header files */
1069
1070 NULL,
1071 NULL,
1072 NULL,
1073 NULL,
1074 NULL,
1075 NULL,
1076 (CVT_COUNT_TABS | CVT_COUNT_NON_ANSI_COMMENTS | CVT_COUNT_LINES),
1077 };
1078
1079
1080 /******************************************************************************
1081 *
1082 * Indentation result fixup table
1083 *
1084 ******************************************************************************/
1085
1086 ACPI_CONVERSION_TABLE IndentConversionTable =
1087 {
1088 NULL,
1089 FLG_NO_CARRIAGE_RETURNS,
1090
1091 NULL,
1092
1093 /* C source files */
1094
1095 LinuxSpecialStrings,
1096 NULL,
1097 NULL,
1098 NULL,
1099 NULL,
1100 LinuxSpecialMacros,
1101 (CVT_COUNT_TABS | CVT_COUNT_NON_ANSI_COMMENTS | CVT_COUNT_LINES |
1102 CVT_TRIM_LINES | CVT_TRIM_WHITESPACE),
1103
1104 /* C header files */
1105
1106 LinuxSpecialStrings,
1107 NULL,
1108 NULL,
1109 NULL,
1110 NULL,
1111 LinuxSpecialMacros,
1112 (CVT_COUNT_TABS | CVT_COUNT_NON_ANSI_COMMENTS | CVT_COUNT_LINES |
1113 CVT_TRIM_LINES | CVT_TRIM_WHITESPACE),
1114
1115 /* C header files */
1116
1117 NULL,
1118 NULL,
1119 NULL,
1120 NULL,
1121 NULL,
1122 NULL,
1123 (CVT_COUNT_TABS | CVT_COUNT_NON_ANSI_COMMENTS | CVT_COUNT_LINES),
1124 };
1125