acdisasm.h 34 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240
  1. /******************************************************************************
  2. *
  3. * Name: acdisasm.h - AML disassembler
  4. *
  5. *****************************************************************************/
  6. /*
  7. * Copyright (C) 2000 - 2019, Intel Corp.
  8. * All rights reserved.
  9. *
  10. * Redistribution and use in source and binary forms, with or without
  11. * modification, are permitted provided that the following conditions
  12. * are met:
  13. * 1. Redistributions of source code must retain the above copyright
  14. * notice, this list of conditions, and the following disclaimer,
  15. * without modification.
  16. * 2. Redistributions in binary form must reproduce at minimum a disclaimer
  17. * substantially similar to the "NO WARRANTY" disclaimer below
  18. * ("Disclaimer") and any redistribution must be conditioned upon
  19. * including a substantially similar Disclaimer requirement for further
  20. * binary redistribution.
  21. * 3. Neither the names of the above-listed copyright holders nor the names
  22. * of any contributors may be used to endorse or promote products derived
  23. * from this software without specific prior written permission.
  24. *
  25. * Alternatively, this software may be distributed under the terms of the
  26. * GNU General Public License ("GPL") version 2 as published by the Free
  27. * Software Foundation.
  28. *
  29. * NO WARRANTY
  30. * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  31. * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  32. * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
  33. * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  34. * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  35. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  36. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  37. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
  38. * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
  39. * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  40. * POSSIBILITY OF SUCH DAMAGES.
  41. */
  42. #ifndef __ACDISASM_H__
  43. #define __ACDISASM_H__
  44. #include "amlresrc.h"
  45. #define BLOCK_NONE 0
  46. #define BLOCK_PAREN 1
  47. #define BLOCK_BRACE 2
  48. #define BLOCK_COMMA_LIST 4
  49. #define ACPI_DEFAULT_RESNAME *(UINT32 *) "__RD"
  50. /*
  51. * Raw table data header. Used by disassembler and data table compiler.
  52. * Do not change.
  53. */
  54. #define ACPI_RAW_TABLE_DATA_HEADER "Raw Table Data"
  55. typedef struct acpi_dmtable_info
  56. {
  57. UINT8 Opcode;
  58. UINT16 Offset;
  59. char *Name;
  60. UINT8 Flags;
  61. } ACPI_DMTABLE_INFO;
  62. /* Values for Flags field above */
  63. #define DT_LENGTH 0x01 /* Field is a subtable length */
  64. #define DT_FLAG 0x02 /* Field is a flag value */
  65. #define DT_NON_ZERO 0x04 /* Field must be non-zero */
  66. #define DT_OPTIONAL 0x08 /* Field is optional */
  67. #define DT_DESCRIBES_OPTIONAL 0x10 /* Field describes an optional field (length, etc.) */
  68. #define DT_COUNT 0x20 /* Currently not used */
  69. /*
  70. * Values for Opcode above.
  71. * Note: 0-7 must not change, they are used as a flag shift value. Other
  72. * than those, new values can be added wherever appropriate.
  73. */
  74. typedef enum
  75. {
  76. /* Simple Data Types */
  77. ACPI_DMT_FLAG0 = 0,
  78. ACPI_DMT_FLAG1 = 1,
  79. ACPI_DMT_FLAG2 = 2,
  80. ACPI_DMT_FLAG3 = 3,
  81. ACPI_DMT_FLAG4 = 4,
  82. ACPI_DMT_FLAG5 = 5,
  83. ACPI_DMT_FLAG6 = 6,
  84. ACPI_DMT_FLAG7 = 7,
  85. ACPI_DMT_FLAGS0,
  86. ACPI_DMT_FLAGS1,
  87. ACPI_DMT_FLAGS2,
  88. ACPI_DMT_FLAGS4,
  89. ACPI_DMT_FLAGS4_0,
  90. ACPI_DMT_FLAGS4_4,
  91. ACPI_DMT_FLAGS4_8,
  92. ACPI_DMT_FLAGS4_12,
  93. ACPI_DMT_FLAGS16_16,
  94. ACPI_DMT_UINT8,
  95. ACPI_DMT_UINT16,
  96. ACPI_DMT_UINT24,
  97. ACPI_DMT_UINT32,
  98. ACPI_DMT_UINT40,
  99. ACPI_DMT_UINT48,
  100. ACPI_DMT_UINT56,
  101. ACPI_DMT_UINT64,
  102. ACPI_DMT_BUF7,
  103. ACPI_DMT_BUF10,
  104. ACPI_DMT_BUF12,
  105. ACPI_DMT_BUF16,
  106. ACPI_DMT_BUF128,
  107. ACPI_DMT_SIG,
  108. ACPI_DMT_STRING,
  109. ACPI_DMT_NAME4,
  110. ACPI_DMT_NAME6,
  111. ACPI_DMT_NAME8,
  112. /* Types that are decoded to strings and miscellaneous */
  113. ACPI_DMT_ACCWIDTH,
  114. ACPI_DMT_CHKSUM,
  115. ACPI_DMT_GAS,
  116. ACPI_DMT_SPACEID,
  117. ACPI_DMT_UNICODE,
  118. ACPI_DMT_UUID,
  119. /* Types used only for the Data Table Compiler */
  120. ACPI_DMT_BUFFER,
  121. ACPI_DMT_RAW_BUFFER, /* Large, multiple line buffer */
  122. ACPI_DMT_DEVICE_PATH,
  123. ACPI_DMT_LABEL,
  124. ACPI_DMT_PCI_PATH,
  125. /* Types that are specific to particular ACPI tables */
  126. ACPI_DMT_ASF,
  127. ACPI_DMT_DMAR,
  128. ACPI_DMT_DMAR_SCOPE,
  129. ACPI_DMT_EINJACT,
  130. ACPI_DMT_EINJINST,
  131. ACPI_DMT_ERSTACT,
  132. ACPI_DMT_ERSTINST,
  133. ACPI_DMT_FADTPM,
  134. ACPI_DMT_GTDT,
  135. ACPI_DMT_HEST,
  136. ACPI_DMT_HESTNTFY,
  137. ACPI_DMT_HESTNTYP,
  138. ACPI_DMT_HMAT,
  139. ACPI_DMT_IORTMEM,
  140. ACPI_DMT_IVRS,
  141. ACPI_DMT_LPIT,
  142. ACPI_DMT_MADT,
  143. ACPI_DMT_NFIT,
  144. ACPI_DMT_PCCT,
  145. ACPI_DMT_PMTT,
  146. ACPI_DMT_PPTT,
  147. ACPI_DMT_SDEI,
  148. ACPI_DMT_SDEV,
  149. ACPI_DMT_SLIC,
  150. ACPI_DMT_SRAT,
  151. ACPI_DMT_TPM2,
  152. /* Special opcodes */
  153. ACPI_DMT_EXTRA_TEXT,
  154. ACPI_DMT_EXIT
  155. } ACPI_ENTRY_TYPES;
  156. typedef
  157. void (*ACPI_DMTABLE_HANDLER) (
  158. ACPI_TABLE_HEADER *Table);
  159. typedef
  160. ACPI_STATUS (*ACPI_CMTABLE_HANDLER) (
  161. void **PFieldList);
  162. typedef struct acpi_dmtable_data
  163. {
  164. char *Signature;
  165. ACPI_DMTABLE_INFO *TableInfo;
  166. ACPI_DMTABLE_HANDLER TableHandler;
  167. ACPI_CMTABLE_HANDLER CmTableHandler;
  168. const unsigned char *Template;
  169. } ACPI_DMTABLE_DATA;
  170. typedef struct acpi_op_walk_info
  171. {
  172. ACPI_WALK_STATE *WalkState;
  173. ACPI_PARSE_OBJECT *MappingOp;
  174. UINT8 *PreviousAml;
  175. UINT8 *StartAml;
  176. UINT32 Level;
  177. UINT32 LastLevel;
  178. UINT32 Count;
  179. UINT32 BitOffset;
  180. UINT32 Flags;
  181. UINT32 AmlOffset;
  182. } ACPI_OP_WALK_INFO;
  183. /*
  184. * TBD - another copy of this is in asltypes.h, fix
  185. */
  186. #ifndef ASL_WALK_CALLBACK_DEFINED
  187. typedef
  188. ACPI_STATUS (*ASL_WALK_CALLBACK) (
  189. ACPI_PARSE_OBJECT *Op,
  190. UINT32 Level,
  191. void *Context);
  192. #define ASL_WALK_CALLBACK_DEFINED
  193. #endif
  194. typedef
  195. void (*ACPI_RESOURCE_HANDLER) (
  196. ACPI_OP_WALK_INFO *Info,
  197. AML_RESOURCE *Resource,
  198. UINT32 Length,
  199. UINT32 Level);
  200. typedef struct acpi_resource_tag
  201. {
  202. UINT32 BitIndex;
  203. char *Tag;
  204. } ACPI_RESOURCE_TAG;
  205. /* Strings used for decoding flags to ASL keywords */
  206. extern const char *AcpiGbl_WordDecode[];
  207. extern const char *AcpiGbl_IrqDecode[];
  208. extern const char *AcpiGbl_LockRule[];
  209. extern const char *AcpiGbl_AccessTypes[];
  210. extern const char *AcpiGbl_UpdateRules[];
  211. extern const char *AcpiGbl_MatchOps[];
  212. extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf0[];
  213. extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf1[];
  214. extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf1a[];
  215. extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf2[];
  216. extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf2a[];
  217. extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf3[];
  218. extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf4[];
  219. extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsfHdr[];
  220. extern ACPI_DMTABLE_INFO AcpiDmTableInfoBoot[];
  221. extern ACPI_DMTABLE_INFO AcpiDmTableInfoBert[];
  222. extern ACPI_DMTABLE_INFO AcpiDmTableInfoBgrt[];
  223. extern ACPI_DMTABLE_INFO AcpiDmTableInfoCpep[];
  224. extern ACPI_DMTABLE_INFO AcpiDmTableInfoCpep0[];
  225. extern ACPI_DMTABLE_INFO AcpiDmTableInfoCsrt0[];
  226. extern ACPI_DMTABLE_INFO AcpiDmTableInfoCsrt1[];
  227. extern ACPI_DMTABLE_INFO AcpiDmTableInfoCsrt2[];
  228. extern ACPI_DMTABLE_INFO AcpiDmTableInfoCsrt2a[];
  229. extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2[];
  230. extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2Device[];
  231. extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2Addr[];
  232. extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2Size[];
  233. extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2Name[];
  234. extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2OemData[];
  235. extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbgp[];
  236. extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar[];
  237. extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmarHdr[];
  238. extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmarScope[];
  239. extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar0[];
  240. extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar1[];
  241. extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar2[];
  242. extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar3[];
  243. extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar4[];
  244. extern ACPI_DMTABLE_INFO AcpiDmTableInfoDrtm[];
  245. extern ACPI_DMTABLE_INFO AcpiDmTableInfoDrtm0[];
  246. extern ACPI_DMTABLE_INFO AcpiDmTableInfoDrtm0a[];
  247. extern ACPI_DMTABLE_INFO AcpiDmTableInfoDrtm1[];
  248. extern ACPI_DMTABLE_INFO AcpiDmTableInfoDrtm1a[];
  249. extern ACPI_DMTABLE_INFO AcpiDmTableInfoDrtm2[];
  250. extern ACPI_DMTABLE_INFO AcpiDmTableInfoEcdt[];
  251. extern ACPI_DMTABLE_INFO AcpiDmTableInfoEinj[];
  252. extern ACPI_DMTABLE_INFO AcpiDmTableInfoEinj0[];
  253. extern ACPI_DMTABLE_INFO AcpiDmTableInfoErst[];
  254. extern ACPI_DMTABLE_INFO AcpiDmTableInfoErst0[];
  255. extern ACPI_DMTABLE_INFO AcpiDmTableInfoFacs[];
  256. extern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt1[];
  257. extern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt2[];
  258. extern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt3[];
  259. extern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt5[];
  260. extern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt6[];
  261. extern ACPI_DMTABLE_INFO AcpiDmTableInfoFpdt[];
  262. extern ACPI_DMTABLE_INFO AcpiDmTableInfoFpdtHdr[];
  263. extern ACPI_DMTABLE_INFO AcpiDmTableInfoFpdt0[];
  264. extern ACPI_DMTABLE_INFO AcpiDmTableInfoFpdt1[];
  265. extern ACPI_DMTABLE_INFO AcpiDmTableInfoGas[];
  266. extern ACPI_DMTABLE_INFO AcpiDmTableInfoGtdt[];
  267. extern ACPI_DMTABLE_INFO AcpiDmTableInfoGtdtHdr[];
  268. extern ACPI_DMTABLE_INFO AcpiDmTableInfoGtdtEl2[];
  269. extern ACPI_DMTABLE_INFO AcpiDmTableInfoGtdt0[];
  270. extern ACPI_DMTABLE_INFO AcpiDmTableInfoGtdt0a[];
  271. extern ACPI_DMTABLE_INFO AcpiDmTableInfoGtdt1[];
  272. extern ACPI_DMTABLE_INFO AcpiDmTableInfoHeader[];
  273. extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest[];
  274. extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest0[];
  275. extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest1[];
  276. extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest2[];
  277. extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest6[];
  278. extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest7[];
  279. extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest8[];
  280. extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest9[];
  281. extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest10[];
  282. extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest11[];
  283. extern ACPI_DMTABLE_INFO AcpiDmTableInfoHestNotify[];
  284. extern ACPI_DMTABLE_INFO AcpiDmTableInfoHestBank[];
  285. extern ACPI_DMTABLE_INFO AcpiDmTableInfoHpet[];
  286. extern ACPI_DMTABLE_INFO AcpiDmTableInfoLpitHdr[];
  287. extern ACPI_DMTABLE_INFO AcpiDmTableInfoLpit0[];
  288. extern ACPI_DMTABLE_INFO AcpiDmTableInfoLpit1[];
  289. extern ACPI_DMTABLE_INFO AcpiDmTableInfoHmat[];
  290. extern ACPI_DMTABLE_INFO AcpiDmTableInfoHmat0[];
  291. extern ACPI_DMTABLE_INFO AcpiDmTableInfoHmat1[];
  292. extern ACPI_DMTABLE_INFO AcpiDmTableInfoHmat1a[];
  293. extern ACPI_DMTABLE_INFO AcpiDmTableInfoHmat1b[];
  294. extern ACPI_DMTABLE_INFO AcpiDmTableInfoHmat1c[];
  295. extern ACPI_DMTABLE_INFO AcpiDmTableInfoHmat2[];
  296. extern ACPI_DMTABLE_INFO AcpiDmTableInfoHmat2a[];
  297. extern ACPI_DMTABLE_INFO AcpiDmTableInfoHmatHdr[];
  298. extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort[];
  299. extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort0[];
  300. extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort0a[];
  301. extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort1[];
  302. extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort1a[];
  303. extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort2[];
  304. extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort3[];
  305. extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort3a[];
  306. extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort3b[];
  307. extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort3c[];
  308. extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort4[];
  309. extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort5[];
  310. extern ACPI_DMTABLE_INFO AcpiDmTableInfoIortAcc[];
  311. extern ACPI_DMTABLE_INFO AcpiDmTableInfoIortHdr[];
  312. extern ACPI_DMTABLE_INFO AcpiDmTableInfoIortMap[];
  313. extern ACPI_DMTABLE_INFO AcpiDmTableInfoIortPad[];
  314. extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs[];
  315. extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs0[];
  316. extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs1[];
  317. extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs4[];
  318. extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8a[];
  319. extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8b[];
  320. extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8c[];
  321. extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsHdr[];
  322. extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt[];
  323. extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt0[];
  324. extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt1[];
  325. extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt2[];
  326. extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt3[];
  327. extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt4[];
  328. extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt5[];
  329. extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt6[];
  330. extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt7[];
  331. extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt8[];
  332. extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt9[];
  333. extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt10[];
  334. extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt11[];
  335. extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt12[];
  336. extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt13[];
  337. extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt14[];
  338. extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt15[];
  339. extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadtHdr[];
  340. extern ACPI_DMTABLE_INFO AcpiDmTableInfoMcfg[];
  341. extern ACPI_DMTABLE_INFO AcpiDmTableInfoMcfg0[];
  342. extern ACPI_DMTABLE_INFO AcpiDmTableInfoMchi[];
  343. extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst[];
  344. extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst0[];
  345. extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst0A[];
  346. extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst0B[];
  347. extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst1[];
  348. extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst2[];
  349. extern ACPI_DMTABLE_INFO AcpiDmTableInfoMsct[];
  350. extern ACPI_DMTABLE_INFO AcpiDmTableInfoMsct0[];
  351. extern ACPI_DMTABLE_INFO AcpiDmTableInfoMtmr[];
  352. extern ACPI_DMTABLE_INFO AcpiDmTableInfoMtmr0[];
  353. extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit[];
  354. extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfitHdr[];
  355. extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit0[];
  356. extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit1[];
  357. extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit2[];
  358. extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit2a[];
  359. extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit3[];
  360. extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit3a[];
  361. extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit4[];
  362. extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit5[];
  363. extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit6[];
  364. extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit6a[];
  365. extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit7[];
  366. extern ACPI_DMTABLE_INFO AcpiDmTableInfoPdtt[];
  367. extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt[];
  368. extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt0[];
  369. extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt1[];
  370. extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt1a[];
  371. extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt2[];
  372. extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmttHdr[];
  373. extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct[];
  374. extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcctHdr[];
  375. extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct0[];
  376. extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct1[];
  377. extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct2[];
  378. extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct3[];
  379. extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct4[];
  380. extern ACPI_DMTABLE_INFO AcpiDmTableInfoPdtt0[];
  381. extern ACPI_DMTABLE_INFO AcpiDmTableInfoPptt0[];
  382. extern ACPI_DMTABLE_INFO AcpiDmTableInfoPptt0a[];
  383. extern ACPI_DMTABLE_INFO AcpiDmTableInfoPptt1[];
  384. extern ACPI_DMTABLE_INFO AcpiDmTableInfoPptt2[];
  385. extern ACPI_DMTABLE_INFO AcpiDmTableInfoPpttHdr[];
  386. extern ACPI_DMTABLE_INFO AcpiDmTableInfoRasf[];
  387. extern ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp1[];
  388. extern ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp2[];
  389. extern ACPI_DMTABLE_INFO AcpiDmTableInfoS3pt[];
  390. extern ACPI_DMTABLE_INFO AcpiDmTableInfoS3ptHdr[];
  391. extern ACPI_DMTABLE_INFO AcpiDmTableInfoS3pt0[];
  392. extern ACPI_DMTABLE_INFO AcpiDmTableInfoS3pt1[];
  393. extern ACPI_DMTABLE_INFO AcpiDmTableInfoSbst[];
  394. extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdei[];
  395. extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev[];
  396. extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdevHdr[];
  397. extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev0[];
  398. extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev0a[];
  399. extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev1[];
  400. extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev1a[];
  401. extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev1b[];
  402. extern ACPI_DMTABLE_INFO AcpiDmTableInfoSlic[];
  403. extern ACPI_DMTABLE_INFO AcpiDmTableInfoSlit[];
  404. extern ACPI_DMTABLE_INFO AcpiDmTableInfoSpcr[];
  405. extern ACPI_DMTABLE_INFO AcpiDmTableInfoSpmi[];
  406. extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat[];
  407. extern ACPI_DMTABLE_INFO AcpiDmTableInfoSratHdr[];
  408. extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat0[];
  409. extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat1[];
  410. extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat2[];
  411. extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat3[];
  412. extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat4[];
  413. extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat5[];
  414. extern ACPI_DMTABLE_INFO AcpiDmTableInfoStao[];
  415. extern ACPI_DMTABLE_INFO AcpiDmTableInfoStaoStr[];
  416. extern ACPI_DMTABLE_INFO AcpiDmTableInfoTcpaHdr[];
  417. extern ACPI_DMTABLE_INFO AcpiDmTableInfoTcpaClient[];
  418. extern ACPI_DMTABLE_INFO AcpiDmTableInfoTcpaServer[];
  419. extern ACPI_DMTABLE_INFO AcpiDmTableInfoTpm2[];
  420. extern ACPI_DMTABLE_INFO AcpiDmTableInfoTpm2a[];
  421. extern ACPI_DMTABLE_INFO AcpiDmTableInfoTpm211[];
  422. extern ACPI_DMTABLE_INFO AcpiDmTableInfoTpm23[];
  423. extern ACPI_DMTABLE_INFO AcpiDmTableInfoTpm23a[];
  424. extern ACPI_DMTABLE_INFO AcpiDmTableInfoUefi[];
  425. extern ACPI_DMTABLE_INFO AcpiDmTableInfoVrtc[];
  426. extern ACPI_DMTABLE_INFO AcpiDmTableInfoVrtc0[];
  427. extern ACPI_DMTABLE_INFO AcpiDmTableInfoWaet[];
  428. extern ACPI_DMTABLE_INFO AcpiDmTableInfoWdat[];
  429. extern ACPI_DMTABLE_INFO AcpiDmTableInfoWdat0[];
  430. extern ACPI_DMTABLE_INFO AcpiDmTableInfoWddt[];
  431. extern ACPI_DMTABLE_INFO AcpiDmTableInfoWdrt[];
  432. extern ACPI_DMTABLE_INFO AcpiDmTableInfoWpbt[];
  433. extern ACPI_DMTABLE_INFO AcpiDmTableInfoWpbt0[];
  434. extern ACPI_DMTABLE_INFO AcpiDmTableInfoWsmt[];
  435. extern ACPI_DMTABLE_INFO AcpiDmTableInfoXenv[];
  436. extern ACPI_DMTABLE_INFO AcpiDmTableInfoGeneric[][2];
  437. /*
  438. * dmtable and ahtable
  439. */
  440. extern const ACPI_DMTABLE_DATA AcpiDmTableData[];
  441. extern const AH_TABLE AcpiGbl_SupportedTables[];
  442. UINT8
  443. AcpiDmGenerateChecksum (
  444. void *Table,
  445. UINT32 Length,
  446. UINT8 OriginalChecksum);
  447. const ACPI_DMTABLE_DATA *
  448. AcpiDmGetTableData (
  449. char *Signature);
  450. void
  451. AcpiDmDumpDataTable (
  452. ACPI_TABLE_HEADER *Table);
  453. ACPI_STATUS
  454. AcpiDmDumpTable (
  455. UINT32 TableLength,
  456. UINT32 TableOffset,
  457. void *Table,
  458. UINT32 SubtableLength,
  459. ACPI_DMTABLE_INFO *Info);
  460. void
  461. AcpiDmLineHeader (
  462. UINT32 Offset,
  463. UINT32 ByteLength,
  464. char *Name);
  465. void
  466. AcpiDmLineHeader2 (
  467. UINT32 Offset,
  468. UINT32 ByteLength,
  469. char *Name,
  470. UINT32 Value);
  471. /*
  472. * dmtbdump
  473. */
  474. void
  475. AcpiDmDumpBuffer (
  476. void *Table,
  477. UINT32 BufferOffset,
  478. UINT32 Length,
  479. UINT32 AbsoluteOffset,
  480. char *Header);
  481. void
  482. AcpiDmDumpUnicode (
  483. void *Table,
  484. UINT32 BufferOffset,
  485. UINT32 ByteLength);
  486. void
  487. AcpiDmDumpAsf (
  488. ACPI_TABLE_HEADER *Table);
  489. void
  490. AcpiDmDumpCpep (
  491. ACPI_TABLE_HEADER *Table);
  492. void
  493. AcpiDmDumpCsrt (
  494. ACPI_TABLE_HEADER *Table);
  495. void
  496. AcpiDmDumpDbg2 (
  497. ACPI_TABLE_HEADER *Table);
  498. void
  499. AcpiDmDumpDmar (
  500. ACPI_TABLE_HEADER *Table);
  501. void
  502. AcpiDmDumpDrtm (
  503. ACPI_TABLE_HEADER *Table);
  504. void
  505. AcpiDmDumpEinj (
  506. ACPI_TABLE_HEADER *Table);
  507. void
  508. AcpiDmDumpErst (
  509. ACPI_TABLE_HEADER *Table);
  510. void
  511. AcpiDmDumpFadt (
  512. ACPI_TABLE_HEADER *Table);
  513. void
  514. AcpiDmDumpFpdt (
  515. ACPI_TABLE_HEADER *Table);
  516. void
  517. AcpiDmDumpGtdt (
  518. ACPI_TABLE_HEADER *Table);
  519. void
  520. AcpiDmDumpHest (
  521. ACPI_TABLE_HEADER *Table);
  522. void
  523. AcpiDmDumpHmat (
  524. ACPI_TABLE_HEADER *Table);
  525. void
  526. AcpiDmDumpIort (
  527. ACPI_TABLE_HEADER *Table);
  528. void
  529. AcpiDmDumpIvrs (
  530. ACPI_TABLE_HEADER *Table);
  531. void
  532. AcpiDmDumpLpit (
  533. ACPI_TABLE_HEADER *Table);
  534. void
  535. AcpiDmDumpMadt (
  536. ACPI_TABLE_HEADER *Table);
  537. void
  538. AcpiDmDumpMcfg (
  539. ACPI_TABLE_HEADER *Table);
  540. void
  541. AcpiDmDumpMpst (
  542. ACPI_TABLE_HEADER *Table);
  543. void
  544. AcpiDmDumpMsct (
  545. ACPI_TABLE_HEADER *Table);
  546. void
  547. AcpiDmDumpMtmr (
  548. ACPI_TABLE_HEADER *Table);
  549. void
  550. AcpiDmDumpNfit (
  551. ACPI_TABLE_HEADER *Table);
  552. void
  553. AcpiDmDumpPcct (
  554. ACPI_TABLE_HEADER *Table);
  555. void
  556. AcpiDmDumpPdtt (
  557. ACPI_TABLE_HEADER *Table);
  558. void
  559. AcpiDmDumpPmtt (
  560. ACPI_TABLE_HEADER *Table);
  561. void
  562. AcpiDmDumpPptt (
  563. ACPI_TABLE_HEADER *Table);
  564. UINT32
  565. AcpiDmDumpRsdp (
  566. ACPI_TABLE_HEADER *Table);
  567. void
  568. AcpiDmDumpRsdt (
  569. ACPI_TABLE_HEADER *Table);
  570. UINT32
  571. AcpiDmDumpS3pt (
  572. ACPI_TABLE_HEADER *Table);
  573. void
  574. AcpiDmDumpSdev (
  575. ACPI_TABLE_HEADER *Table);
  576. void
  577. AcpiDmDumpSlic (
  578. ACPI_TABLE_HEADER *Table);
  579. void
  580. AcpiDmDumpSlit (
  581. ACPI_TABLE_HEADER *Table);
  582. void
  583. AcpiDmDumpSrat (
  584. ACPI_TABLE_HEADER *Table);
  585. void
  586. AcpiDmDumpStao (
  587. ACPI_TABLE_HEADER *Table);
  588. void
  589. AcpiDmDumpTcpa (
  590. ACPI_TABLE_HEADER *Table);
  591. void
  592. AcpiDmDumpTpm2 (
  593. ACPI_TABLE_HEADER *Table);
  594. void
  595. AcpiDmDumpVrtc (
  596. ACPI_TABLE_HEADER *Table);
  597. void
  598. AcpiDmDumpWdat (
  599. ACPI_TABLE_HEADER *Table);
  600. void
  601. AcpiDmDumpWpbt (
  602. ACPI_TABLE_HEADER *Table);
  603. void
  604. AcpiDmDumpXsdt (
  605. ACPI_TABLE_HEADER *Table);
  606. /*
  607. * dmwalk
  608. */
  609. void
  610. AcpiDmDisassemble (
  611. ACPI_WALK_STATE *WalkState,
  612. ACPI_PARSE_OBJECT *Origin,
  613. UINT32 NumOpcodes);
  614. void
  615. AcpiDmWalkParseTree (
  616. ACPI_PARSE_OBJECT *Op,
  617. ASL_WALK_CALLBACK DescendingCallback,
  618. ASL_WALK_CALLBACK AscendingCallback,
  619. void *Context);
  620. /*
  621. * dmopcode
  622. */
  623. void
  624. AcpiDmDisassembleOneOp (
  625. ACPI_WALK_STATE *WalkState,
  626. ACPI_OP_WALK_INFO *Info,
  627. ACPI_PARSE_OBJECT *Op);
  628. UINT32
  629. AcpiDmListType (
  630. ACPI_PARSE_OBJECT *Op);
  631. void
  632. AcpiDmMethodFlags (
  633. ACPI_PARSE_OBJECT *Op);
  634. void
  635. AcpiDmDisplayTargetPathname (
  636. ACPI_PARSE_OBJECT *Op);
  637. void
  638. AcpiDmNotifyDescription (
  639. ACPI_PARSE_OBJECT *Op);
  640. void
  641. AcpiDmPredefinedDescription (
  642. ACPI_PARSE_OBJECT *Op);
  643. void
  644. AcpiDmFieldPredefinedDescription (
  645. ACPI_PARSE_OBJECT *Op);
  646. void
  647. AcpiDmFieldFlags (
  648. ACPI_PARSE_OBJECT *Op);
  649. void
  650. AcpiDmAddressSpace (
  651. UINT8 SpaceId);
  652. void
  653. AcpiDmRegionFlags (
  654. ACPI_PARSE_OBJECT *Op);
  655. void
  656. AcpiDmMatchOp (
  657. ACPI_PARSE_OBJECT *Op);
  658. /*
  659. * dmnames
  660. */
  661. UINT32
  662. AcpiDmDumpName (
  663. UINT32 Name);
  664. ACPI_STATUS
  665. AcpiPsDisplayObjectPathname (
  666. ACPI_WALK_STATE *WalkState,
  667. ACPI_PARSE_OBJECT *Op);
  668. void
  669. AcpiDmNamestring (
  670. char *Name);
  671. /*
  672. * dmbuffer
  673. */
  674. void
  675. AcpiDmDisasmByteList (
  676. UINT32 Level,
  677. UINT8 *ByteData,
  678. UINT32 ByteCount);
  679. void
  680. AcpiDmByteList (
  681. ACPI_OP_WALK_INFO *Info,
  682. ACPI_PARSE_OBJECT *Op);
  683. void
  684. AcpiDmCheckForHardwareId (
  685. ACPI_PARSE_OBJECT *Op);
  686. void
  687. AcpiDmDecompressEisaId (
  688. UINT32 EncodedId);
  689. BOOLEAN
  690. AcpiDmIsUuidBuffer (
  691. ACPI_PARSE_OBJECT *Op);
  692. BOOLEAN
  693. AcpiDmIsUnicodeBuffer (
  694. ACPI_PARSE_OBJECT *Op);
  695. BOOLEAN
  696. AcpiDmIsStringBuffer (
  697. ACPI_PARSE_OBJECT *Op);
  698. BOOLEAN
  699. AcpiDmIsPldBuffer (
  700. ACPI_PARSE_OBJECT *Op);
  701. /*
  702. * dmdeferred
  703. */
  704. ACPI_STATUS
  705. AcpiDmParseDeferredOps (
  706. ACPI_PARSE_OBJECT *Root);
  707. /*
  708. * dmextern
  709. */
  710. ACPI_STATUS
  711. AcpiDmAddToExternalFileList (
  712. char *PathList);
  713. void
  714. AcpiDmClearExternalFileList (
  715. void);
  716. void
  717. AcpiDmAddOpToExternalList (
  718. ACPI_PARSE_OBJECT *Op,
  719. char *Path,
  720. UINT8 Type,
  721. UINT32 Value,
  722. UINT16 Flags);
  723. void
  724. AcpiDmCreateSubobjectForExternal (
  725. UINT8 Type,
  726. ACPI_NAMESPACE_NODE **Node,
  727. UINT32 Value);
  728. void
  729. AcpiDmAddNodeToExternalList (
  730. ACPI_NAMESPACE_NODE *Node,
  731. UINT8 Type,
  732. UINT32 Value,
  733. UINT16 Flags);
  734. void
  735. AcpiDmAddExternalListToNamespace (
  736. void);
  737. void
  738. AcpiDmAddOneExternalToNamespace (
  739. char *Path,
  740. UINT8 Type,
  741. UINT32 Value);
  742. UINT32
  743. AcpiDmGetUnresolvedExternalMethodCount (
  744. void);
  745. void
  746. AcpiDmClearExternalList (
  747. void);
  748. void
  749. AcpiDmEmitExternals (
  750. void);
  751. void
  752. AcpiDmEmitExternal (
  753. ACPI_PARSE_OBJECT *NameOp,
  754. ACPI_PARSE_OBJECT *TypeOp);
  755. void
  756. AcpiDmUnresolvedWarning (
  757. UINT8 Type);
  758. void
  759. AcpiDmGetExternalsFromFile (
  760. void);
  761. void
  762. AcpiDmMarkExternalConflict (
  763. ACPI_NAMESPACE_NODE *Node);
  764. /*
  765. * dmresrc
  766. */
  767. void
  768. AcpiDmDumpInteger8 (
  769. UINT8 Value,
  770. const char *Name);
  771. void
  772. AcpiDmDumpInteger16 (
  773. UINT16 Value,
  774. const char *Name);
  775. void
  776. AcpiDmDumpInteger32 (
  777. UINT32 Value,
  778. const char *Name);
  779. void
  780. AcpiDmDumpInteger64 (
  781. UINT64 Value,
  782. const char *Name);
  783. void
  784. AcpiDmResourceTemplate (
  785. ACPI_OP_WALK_INFO *Info,
  786. ACPI_PARSE_OBJECT *Op,
  787. UINT8 *ByteData,
  788. UINT32 ByteCount);
  789. ACPI_STATUS
  790. AcpiDmIsResourceTemplate (
  791. ACPI_WALK_STATE *WalkState,
  792. ACPI_PARSE_OBJECT *Op);
  793. void
  794. AcpiDmBitList (
  795. UINT16 Mask);
  796. void
  797. AcpiDmDescriptorName (
  798. void);
  799. /*
  800. * dmresrcl
  801. */
  802. void
  803. AcpiDmWordDescriptor (
  804. ACPI_OP_WALK_INFO *Info,
  805. AML_RESOURCE *Resource,
  806. UINT32 Length,
  807. UINT32 Level);
  808. void
  809. AcpiDmDwordDescriptor (
  810. ACPI_OP_WALK_INFO *Info,
  811. AML_RESOURCE *Resource,
  812. UINT32 Length,
  813. UINT32 Level);
  814. void
  815. AcpiDmExtendedDescriptor (
  816. ACPI_OP_WALK_INFO *Info,
  817. AML_RESOURCE *Resource,
  818. UINT32 Length,
  819. UINT32 Level);
  820. void
  821. AcpiDmQwordDescriptor (
  822. ACPI_OP_WALK_INFO *Info,
  823. AML_RESOURCE *Resource,
  824. UINT32 Length,
  825. UINT32 Level);
  826. void
  827. AcpiDmMemory24Descriptor (
  828. ACPI_OP_WALK_INFO *Info,
  829. AML_RESOURCE *Resource,
  830. UINT32 Length,
  831. UINT32 Level);
  832. void
  833. AcpiDmMemory32Descriptor (
  834. ACPI_OP_WALK_INFO *Info,
  835. AML_RESOURCE *Resource,
  836. UINT32 Length,
  837. UINT32 Level);
  838. void
  839. AcpiDmFixedMemory32Descriptor (
  840. ACPI_OP_WALK_INFO *Info,
  841. AML_RESOURCE *Resource,
  842. UINT32 Length,
  843. UINT32 Level);
  844. void
  845. AcpiDmGenericRegisterDescriptor (
  846. ACPI_OP_WALK_INFO *Info,
  847. AML_RESOURCE *Resource,
  848. UINT32 Length,
  849. UINT32 Level);
  850. void
  851. AcpiDmInterruptDescriptor (
  852. ACPI_OP_WALK_INFO *Info,
  853. AML_RESOURCE *Resource,
  854. UINT32 Length,
  855. UINT32 Level);
  856. void
  857. AcpiDmVendorLargeDescriptor (
  858. ACPI_OP_WALK_INFO *Info,
  859. AML_RESOURCE *Resource,
  860. UINT32 Length,
  861. UINT32 Level);
  862. void
  863. AcpiDmGpioDescriptor (
  864. ACPI_OP_WALK_INFO *Info,
  865. AML_RESOURCE *Resource,
  866. UINT32 Length,
  867. UINT32 Level);
  868. void
  869. AcpiDmPinFunctionDescriptor (
  870. ACPI_OP_WALK_INFO *Info,
  871. AML_RESOURCE *Resource,
  872. UINT32 Length,
  873. UINT32 Level);
  874. void
  875. AcpiDmPinConfigDescriptor (
  876. ACPI_OP_WALK_INFO *Info,
  877. AML_RESOURCE *Resource,
  878. UINT32 Length,
  879. UINT32 Level);
  880. void
  881. AcpiDmPinGroupDescriptor (
  882. ACPI_OP_WALK_INFO *Info,
  883. AML_RESOURCE *Resource,
  884. UINT32 Length,
  885. UINT32 Level);
  886. void
  887. AcpiDmPinGroupFunctionDescriptor (
  888. ACPI_OP_WALK_INFO *Info,
  889. AML_RESOURCE *Resource,
  890. UINT32 Length,
  891. UINT32 Level);
  892. void
  893. AcpiDmPinGroupConfigDescriptor (
  894. ACPI_OP_WALK_INFO *Info,
  895. AML_RESOURCE *Resource,
  896. UINT32 Length,
  897. UINT32 Level);
  898. void
  899. AcpiDmSerialBusDescriptor (
  900. ACPI_OP_WALK_INFO *Info,
  901. AML_RESOURCE *Resource,
  902. UINT32 Length,
  903. UINT32 Level);
  904. void
  905. AcpiDmVendorCommon (
  906. const char *Name,
  907. UINT8 *ByteData,
  908. UINT32 Length,
  909. UINT32 Level);
  910. /*
  911. * dmresrcs
  912. */
  913. void
  914. AcpiDmIrqDescriptor (
  915. ACPI_OP_WALK_INFO *Info,
  916. AML_RESOURCE *Resource,
  917. UINT32 Length,
  918. UINT32 Level);
  919. void
  920. AcpiDmDmaDescriptor (
  921. ACPI_OP_WALK_INFO *Info,
  922. AML_RESOURCE *Resource,
  923. UINT32 Length,
  924. UINT32 Level);
  925. void
  926. AcpiDmFixedDmaDescriptor (
  927. ACPI_OP_WALK_INFO *Info,
  928. AML_RESOURCE *Resource,
  929. UINT32 Length,
  930. UINT32 Level);
  931. void
  932. AcpiDmIoDescriptor (
  933. ACPI_OP_WALK_INFO *Info,
  934. AML_RESOURCE *Resource,
  935. UINT32 Length,
  936. UINT32 Level);
  937. void
  938. AcpiDmFixedIoDescriptor (
  939. ACPI_OP_WALK_INFO *Info,
  940. AML_RESOURCE *Resource,
  941. UINT32 Length,
  942. UINT32 Level);
  943. void
  944. AcpiDmStartDependentDescriptor (
  945. ACPI_OP_WALK_INFO *Info,
  946. AML_RESOURCE *Resource,
  947. UINT32 Length,
  948. UINT32 Level);
  949. void
  950. AcpiDmEndDependentDescriptor (
  951. ACPI_OP_WALK_INFO *Info,
  952. AML_RESOURCE *Resource,
  953. UINT32 Length,
  954. UINT32 Level);
  955. void
  956. AcpiDmVendorSmallDescriptor (
  957. ACPI_OP_WALK_INFO *Info,
  958. AML_RESOURCE *Resource,
  959. UINT32 Length,
  960. UINT32 Level);
  961. /*
  962. * dmutils
  963. */
  964. void
  965. AcpiDmDecodeAttribute (
  966. UINT8 Attribute);
  967. void
  968. AcpiDmIndent (
  969. UINT32 Level);
  970. BOOLEAN
  971. AcpiDmCommaIfListMember (
  972. ACPI_PARSE_OBJECT *Op);
  973. void
  974. AcpiDmCommaIfFieldMember (
  975. ACPI_PARSE_OBJECT *Op);
  976. /*
  977. * dmrestag
  978. */
  979. void
  980. AcpiDmFindResources (
  981. ACPI_PARSE_OBJECT *Root);
  982. void
  983. AcpiDmCheckResourceReference (
  984. ACPI_PARSE_OBJECT *Op,
  985. ACPI_WALK_STATE *WalkState);
  986. /*
  987. * dmcstyle
  988. */
  989. BOOLEAN
  990. AcpiDmCheckForSymbolicOpcode (
  991. ACPI_PARSE_OBJECT *Op,
  992. ACPI_OP_WALK_INFO *Info);
  993. void
  994. AcpiDmCloseOperator (
  995. ACPI_PARSE_OBJECT *Op);
  996. /*
  997. * dmtables
  998. */
  999. ACPI_STATUS
  1000. AcpiDmProcessSwitch (
  1001. ACPI_PARSE_OBJECT *Op);
  1002. void
  1003. AcpiDmClearTempList(
  1004. void);
  1005. /*
  1006. * dmtables
  1007. */
  1008. void
  1009. AdDisassemblerHeader (
  1010. char *Filename,
  1011. UINT8 TableType);
  1012. #define ACPI_IS_AML_TABLE 0
  1013. #define ACPI_IS_DATA_TABLE 1
  1014. /*
  1015. * adisasm
  1016. */
  1017. ACPI_STATUS
  1018. AdAmlDisassemble (
  1019. BOOLEAN OutToFile,
  1020. char *Filename,
  1021. char *Prefix,
  1022. char **OutFilename);
  1023. ACPI_STATUS
  1024. AdGetLocalTables (
  1025. void);
  1026. ACPI_STATUS
  1027. AdParseTable (
  1028. ACPI_TABLE_HEADER *Table,
  1029. ACPI_OWNER_ID *OwnerId,
  1030. BOOLEAN LoadTable,
  1031. BOOLEAN External);
  1032. ACPI_STATUS
  1033. AdDisplayTables (
  1034. char *Filename,
  1035. ACPI_TABLE_HEADER *Table);
  1036. ACPI_STATUS
  1037. AdDisplayStatistics (
  1038. void);
  1039. /*
  1040. * dmwalk
  1041. */
  1042. UINT32
  1043. AcpiDmBlockType (
  1044. ACPI_PARSE_OBJECT *Op);
  1045. #endif /* __ACDISASM_H__ */