1100966Siwasaki/****************************************************************************** 2100966Siwasaki * 3100966Siwasaki * Name: acdisasm.h - AML disassembler 4100966Siwasaki * 5100966Siwasaki *****************************************************************************/ 6100966Siwasaki 7217365Sjkim/* 8306536Sjkim * Copyright (C) 2000 - 2016, Intel Corp. 9100966Siwasaki * All rights reserved. 10100966Siwasaki * 11217365Sjkim * Redistribution and use in source and binary forms, with or without 12217365Sjkim * modification, are permitted provided that the following conditions 13217365Sjkim * are met: 14217365Sjkim * 1. Redistributions of source code must retain the above copyright 15217365Sjkim * notice, this list of conditions, and the following disclaimer, 16217365Sjkim * without modification. 17217365Sjkim * 2. Redistributions in binary form must reproduce at minimum a disclaimer 18217365Sjkim * substantially similar to the "NO WARRANTY" disclaimer below 19217365Sjkim * ("Disclaimer") and any redistribution must be conditioned upon 20217365Sjkim * including a substantially similar Disclaimer requirement for further 21217365Sjkim * binary redistribution. 22217365Sjkim * 3. Neither the names of the above-listed copyright holders nor the names 23217365Sjkim * of any contributors may be used to endorse or promote products derived 24217365Sjkim * from this software without specific prior written permission. 25100966Siwasaki * 26217365Sjkim * Alternatively, this software may be distributed under the terms of the 27217365Sjkim * GNU General Public License ("GPL") version 2 as published by the Free 28217365Sjkim * Software Foundation. 29100966Siwasaki * 30217365Sjkim * NO WARRANTY 31217365Sjkim * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 32217365Sjkim * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 33217365Sjkim * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR 34217365Sjkim * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 35217365Sjkim * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 36217365Sjkim * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 37217365Sjkim * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 38217365Sjkim * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 39217365Sjkim * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 40217365Sjkim * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 41217365Sjkim * POSSIBILITY OF SUCH DAMAGES. 42217365Sjkim */ 43100966Siwasaki 44100966Siwasaki#ifndef __ACDISASM_H__ 45100966Siwasaki#define __ACDISASM_H__ 46100966Siwasaki 47193341Sjkim#include <contrib/dev/acpica/include/amlresrc.h> 48100966Siwasaki 49100966Siwasaki 50100966Siwasaki#define BLOCK_NONE 0 51100966Siwasaki#define BLOCK_PAREN 1 52100966Siwasaki#define BLOCK_BRACE 2 53100966Siwasaki#define BLOCK_COMMA_LIST 4 54167802Sjkim#define ACPI_DEFAULT_RESNAME *(UINT32 *) "__RD" 55100966Siwasaki 56217365Sjkim/* 57217365Sjkim * Raw table data header. Used by disassembler and data table compiler. 58217365Sjkim * Do not change. 59217365Sjkim */ 60217365Sjkim#define ACPI_RAW_TABLE_DATA_HEADER "Raw Table Data" 61128212Snjl 62217365Sjkim 63284460Sjkimtypedef struct acpi_dmtable_info 64167802Sjkim{ 65167802Sjkim UINT8 Opcode; 66229989Sjkim UINT16 Offset; 67167802Sjkim char *Name; 68209746Sjkim UINT8 Flags; 69100966Siwasaki 70167802Sjkim} ACPI_DMTABLE_INFO; 71100966Siwasaki 72281075Sdim/* Values for Flags field above */ 73281075Sdim 74209746Sjkim#define DT_LENGTH 0x01 /* Field is a subtable length */ 75209746Sjkim#define DT_FLAG 0x02 /* Field is a flag value */ 76209746Sjkim#define DT_NON_ZERO 0x04 /* Field must be non-zero */ 77281075Sdim#define DT_OPTIONAL 0x08 /* Field is optional */ 78281075Sdim#define DT_DESCRIBES_OPTIONAL 0x10 /* Field describes an optional field (length, etc.) */ 79281075Sdim#define DT_COUNT 0x20 /* Currently not used */ 80209746Sjkim 81167802Sjkim/* 82167802Sjkim * Values for Opcode above. 83228110Sjkim * Note: 0-7 must not change, they are used as a flag shift value. Other 84228110Sjkim * than those, new values can be added wherever appropriate. 85167802Sjkim */ 86228110Sjkimtypedef enum 87228110Sjkim{ 88228110Sjkim /* Simple Data Types */ 89167802Sjkim 90228110Sjkim ACPI_DMT_FLAG0 = 0, 91228110Sjkim ACPI_DMT_FLAG1 = 1, 92228110Sjkim ACPI_DMT_FLAG2 = 2, 93228110Sjkim ACPI_DMT_FLAG3 = 3, 94228110Sjkim ACPI_DMT_FLAG4 = 4, 95228110Sjkim ACPI_DMT_FLAG5 = 5, 96228110Sjkim ACPI_DMT_FLAG6 = 6, 97228110Sjkim ACPI_DMT_FLAG7 = 7, 98228110Sjkim ACPI_DMT_FLAGS0, 99228110Sjkim ACPI_DMT_FLAGS1, 100228110Sjkim ACPI_DMT_FLAGS2, 101228110Sjkim ACPI_DMT_FLAGS4, 102228110Sjkim ACPI_DMT_UINT8, 103228110Sjkim ACPI_DMT_UINT16, 104228110Sjkim ACPI_DMT_UINT24, 105228110Sjkim ACPI_DMT_UINT32, 106228110Sjkim ACPI_DMT_UINT40, 107228110Sjkim ACPI_DMT_UINT48, 108228110Sjkim ACPI_DMT_UINT56, 109228110Sjkim ACPI_DMT_UINT64, 110228110Sjkim ACPI_DMT_BUF7, 111252279Sjkim ACPI_DMT_BUF10, 112228110Sjkim ACPI_DMT_BUF16, 113228110Sjkim ACPI_DMT_BUF128, 114228110Sjkim ACPI_DMT_SIG, 115228110Sjkim ACPI_DMT_STRING, 116228110Sjkim ACPI_DMT_NAME4, 117228110Sjkim ACPI_DMT_NAME6, 118228110Sjkim ACPI_DMT_NAME8, 119228110Sjkim 120228110Sjkim /* Types that are decoded to strings and miscellaneous */ 121228110Sjkim 122228110Sjkim ACPI_DMT_ACCWIDTH, 123228110Sjkim ACPI_DMT_CHKSUM, 124228110Sjkim ACPI_DMT_GAS, 125228110Sjkim ACPI_DMT_SPACEID, 126228110Sjkim ACPI_DMT_UNICODE, 127228110Sjkim ACPI_DMT_UUID, 128228110Sjkim 129228110Sjkim /* Types used only for the Data Table Compiler */ 130228110Sjkim 131228110Sjkim ACPI_DMT_BUFFER, 132281687Sjkim ACPI_DMT_RAW_BUFFER, /* Large, multiple line buffer */ 133228110Sjkim ACPI_DMT_DEVICE_PATH, 134228110Sjkim ACPI_DMT_LABEL, 135228110Sjkim ACPI_DMT_PCI_PATH, 136228110Sjkim 137228110Sjkim /* Types that are specific to particular ACPI tables */ 138228110Sjkim 139228110Sjkim ACPI_DMT_ASF, 140228110Sjkim ACPI_DMT_DMAR, 141281075Sdim ACPI_DMT_DMAR_SCOPE, 142228110Sjkim ACPI_DMT_EINJACT, 143228110Sjkim ACPI_DMT_EINJINST, 144228110Sjkim ACPI_DMT_ERSTACT, 145228110Sjkim ACPI_DMT_ERSTINST, 146228110Sjkim ACPI_DMT_FADTPM, 147281075Sdim ACPI_DMT_GTDT, 148228110Sjkim ACPI_DMT_HEST, 149228110Sjkim ACPI_DMT_HESTNTFY, 150228110Sjkim ACPI_DMT_HESTNTYP, 151284460Sjkim ACPI_DMT_IORTMEM, 152228110Sjkim ACPI_DMT_IVRS, 153281075Sdim ACPI_DMT_LPIT, 154228110Sjkim ACPI_DMT_MADT, 155284460Sjkim ACPI_DMT_NFIT, 156281075Sdim ACPI_DMT_PCCT, 157228110Sjkim ACPI_DMT_PMTT, 158228110Sjkim ACPI_DMT_SLIC, 159228110Sjkim ACPI_DMT_SRAT, 160228110Sjkim 161228110Sjkim /* Special opcodes */ 162228110Sjkim 163228110Sjkim ACPI_DMT_EXTRA_TEXT, 164228110Sjkim ACPI_DMT_EXIT 165228110Sjkim 166228110Sjkim} ACPI_ENTRY_TYPES; 167228110Sjkim 168167802Sjkimtypedef 169193267Sjkimvoid (*ACPI_DMTABLE_HANDLER) ( 170167802Sjkim ACPI_TABLE_HEADER *Table); 171167802Sjkim 172209746Sjkimtypedef 173209746SjkimACPI_STATUS (*ACPI_CMTABLE_HANDLER) ( 174209746Sjkim void **PFieldList); 175209746Sjkim 176167802Sjkimtypedef struct acpi_dmtable_data 177167802Sjkim{ 178167802Sjkim char *Signature; 179193267Sjkim ACPI_DMTABLE_INFO *TableInfo; 180193267Sjkim ACPI_DMTABLE_HANDLER TableHandler; 181209746Sjkim ACPI_CMTABLE_HANDLER CmTableHandler; 182209746Sjkim const unsigned char *Template; 183167802Sjkim 184167802Sjkim} ACPI_DMTABLE_DATA; 185167802Sjkim 186167802Sjkim 187100966Siwasakitypedef struct acpi_op_walk_info 188100966Siwasaki{ 189306536Sjkim ACPI_WALK_STATE *WalkState; 190306536Sjkim ACPI_PARSE_OBJECT *MappingOp; 191306536Sjkim UINT8 *PreviousAml; 192306536Sjkim UINT8 *StartAml; 193100966Siwasaki UINT32 Level; 194167802Sjkim UINT32 LastLevel; 195167802Sjkim UINT32 Count; 196100966Siwasaki UINT32 BitOffset; 197167802Sjkim UINT32 Flags; 198306536Sjkim UINT32 AmlOffset; 199100966Siwasaki 200100966Siwasaki} ACPI_OP_WALK_INFO; 201100966Siwasaki 202209746Sjkim/* 203209746Sjkim * TBD - another copy of this is in asltypes.h, fix 204209746Sjkim */ 205209746Sjkim#ifndef ASL_WALK_CALLBACK_DEFINED 206100966Siwasakitypedef 207100966SiwasakiACPI_STATUS (*ASL_WALK_CALLBACK) ( 208100966Siwasaki ACPI_PARSE_OBJECT *Op, 209100966Siwasaki UINT32 Level, 210100966Siwasaki void *Context); 211209746Sjkim#define ASL_WALK_CALLBACK_DEFINED 212209746Sjkim#endif 213100966Siwasaki 214228110Sjkimtypedef 215228110Sjkimvoid (*ACPI_RESOURCE_HANDLER) ( 216281075Sdim ACPI_OP_WALK_INFO *Info, 217228110Sjkim AML_RESOURCE *Resource, 218228110Sjkim UINT32 Length, 219228110Sjkim UINT32 Level); 220209746Sjkim 221167802Sjkimtypedef struct acpi_resource_tag 222167802Sjkim{ 223167802Sjkim UINT32 BitIndex; 224167802Sjkim char *Tag; 225100966Siwasaki 226167802Sjkim} ACPI_RESOURCE_TAG; 227167802Sjkim 228167802Sjkim/* Strings used for decoding flags to ASL keywords */ 229167802Sjkim 230167802Sjkimextern const char *AcpiGbl_WordDecode[]; 231167802Sjkimextern const char *AcpiGbl_IrqDecode[]; 232167802Sjkimextern const char *AcpiGbl_LockRule[]; 233167802Sjkimextern const char *AcpiGbl_AccessTypes[]; 234167802Sjkimextern const char *AcpiGbl_UpdateRules[]; 235167802Sjkimextern const char *AcpiGbl_MatchOps[]; 236167802Sjkim 237167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf0[]; 238167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf1[]; 239167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf1a[]; 240167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf2[]; 241167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf2a[]; 242167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf3[]; 243167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf4[]; 244167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoAsfHdr[]; 245167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoBoot[]; 246193267Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoBert[]; 247228110Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoBgrt[]; 248167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoCpep[]; 249167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoCpep0[]; 250239340Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoCsrt0[]; 251239340Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoCsrt1[]; 252245582Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoCsrt2[]; 253284460Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoCsrt2a[]; 254239340Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2[]; 255239340Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2Device[]; 256239340Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2Addr[]; 257239340Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2Size[]; 258239340Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2Name[]; 259281075Sdimextern ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2OemData[]; 260167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoDbgp[]; 261167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar[]; 262167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoDmarHdr[]; 263167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoDmarScope[]; 264167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar0[]; 265167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar1[]; 266193267Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar2[]; 267197104Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar3[]; 268281075Sdimextern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar4[]; 269228110Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoDrtm[]; 270284460Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoDrtm0[]; 271284460Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoDrtm0a[]; 272284460Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoDrtm1[]; 273284460Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoDrtm1a[]; 274284460Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoDrtm2[]; 275167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoEcdt[]; 276193267Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoEinj[]; 277193267Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoEinj0[]; 278193267Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoErst[]; 279209746Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoErst0[]; 280167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoFacs[]; 281167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt1[]; 282167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt2[]; 283193267Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt3[]; 284228110Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt5[]; 285284460Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt6[]; 286228110Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoFpdt[]; 287228110Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoFpdtHdr[]; 288228110Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoFpdt0[]; 289228110Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoFpdt1[]; 290167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoGas[]; 291228110Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoGtdt[]; 292281075Sdimextern ACPI_DMTABLE_INFO AcpiDmTableInfoGtdtHdr[]; 293281075Sdimextern ACPI_DMTABLE_INFO AcpiDmTableInfoGtdt0[]; 294281075Sdimextern ACPI_DMTABLE_INFO AcpiDmTableInfoGtdt0a[]; 295281075Sdimextern ACPI_DMTABLE_INFO AcpiDmTableInfoGtdt1[]; 296167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoHeader[]; 297193267Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoHest[]; 298193267Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoHest0[]; 299193267Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoHest1[]; 300197104Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoHest2[]; 301193267Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoHest6[]; 302193267Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoHest7[]; 303193267Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoHest8[]; 304193267Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoHest9[]; 305306536Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoHest10[]; 306193267Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoHestNotify[]; 307197104Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoHestBank[]; 308167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoHpet[]; 309281075Sdimextern ACPI_DMTABLE_INFO AcpiDmTableInfoLpitHdr[]; 310281075Sdimextern ACPI_DMTABLE_INFO AcpiDmTableInfoLpit0[]; 311281075Sdimextern ACPI_DMTABLE_INFO AcpiDmTableInfoLpit1[]; 312284460Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoIort[]; 313284460Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoIort0[]; 314284460Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoIort0a[]; 315284460Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoIort1[]; 316284460Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoIort1a[]; 317284460Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoIort2[]; 318284460Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoIort3[]; 319284460Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoIort3a[]; 320284460Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoIort3b[]; 321284460Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoIort3c[]; 322306536Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoIort4[]; 323284460Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoIortAcc[]; 324284460Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoIortHdr[]; 325284460Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoIortMap[]; 326284460Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoIortPad[]; 327197104Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs[]; 328197104Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs0[]; 329197104Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs1[]; 330197104Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs4[]; 331197104Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8a[]; 332197104Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8b[]; 333197104Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8c[]; 334197104Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsHdr[]; 335167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt[]; 336167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt0[]; 337167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt1[]; 338167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt2[]; 339167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt3[]; 340167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt4[]; 341167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt5[]; 342167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt6[]; 343167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt7[]; 344167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt8[]; 345193267Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt9[]; 346193267Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt10[]; 347228110Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt11[]; 348228110Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt12[]; 349281075Sdimextern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt13[]; 350281075Sdimextern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt14[]; 351284460Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt15[]; 352167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoMadtHdr[]; 353167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoMcfg[]; 354167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoMcfg0[]; 355204773Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoMchi[]; 356228110Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst[]; 357228110Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst0[]; 358228110Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst0A[]; 359228110Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst0B[]; 360228110Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst1[]; 361228110Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst2[]; 362197104Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoMsct[]; 363197104Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoMsct0[]; 364246849Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoMtmr[]; 365246849Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoMtmr0[]; 366284460Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit[]; 367284460Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoNfitHdr[]; 368284460Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit0[]; 369284460Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit1[]; 370284460Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit2[]; 371284460Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit2a[]; 372284460Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit3[]; 373284460Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit3a[]; 374284460Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit4[]; 375284460Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit5[]; 376284460Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit6[]; 377284460Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit6a[]; 378228110Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt[]; 379228110Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt0[]; 380228110Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt1[]; 381228110Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt1a[]; 382228110Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt2[]; 383228110Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoPmttHdr[]; 384228110Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct[]; 385281075Sdimextern ACPI_DMTABLE_INFO AcpiDmTableInfoPcctHdr[]; 386228110Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct0[]; 387281075Sdimextern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct1[]; 388306536Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct2[]; 389167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp1[]; 390167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp2[]; 391228110Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoS3pt[]; 392228110Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoS3ptHdr[]; 393228110Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoS3pt0[]; 394228110Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoS3pt1[]; 395167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoSbst[]; 396281687Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoSlic[]; 397167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoSlit[]; 398167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoSpcr[]; 399167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoSpmi[]; 400167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat[]; 401193267Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoSratHdr[]; 402167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat0[]; 403167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat1[]; 404193267Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat2[]; 405281075Sdimextern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat3[]; 406284460Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoStao[]; 407284460Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoStaoStr[]; 408306536Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoTcpaHdr[]; 409306536Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoTcpaClient[]; 410306536Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoTcpaServer[]; 411245582Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoTpm2[]; 412197104Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoUefi[]; 413246849Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoVrtc[]; 414246849Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoVrtc0[]; 415197104Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoWaet[]; 416197104Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoWdat[]; 417197104Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoWdat0[]; 418209746Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoWddt[]; 419167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoWdrt[]; 420284460Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoWpbt[]; 421284460Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoWpbt0[]; 422284460Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoXenv[]; 423167802Sjkim 424217365Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoGeneric[][2]; 425167802Sjkim 426100966Siwasaki/* 427284460Sjkim * dmtable and ahtable 428167802Sjkim */ 429284460Sjkimextern const ACPI_DMTABLE_DATA AcpiDmTableData[]; 430284460Sjkimextern const AH_TABLE AcpiSupportedTables[]; 431209746Sjkim 432209746SjkimUINT8 433209746SjkimAcpiDmGenerateChecksum ( 434209746Sjkim void *Table, 435209746Sjkim UINT32 Length, 436209746Sjkim UINT8 OriginalChecksum); 437209746Sjkim 438284460Sjkimconst ACPI_DMTABLE_DATA * 439209746SjkimAcpiDmGetTableData ( 440209746Sjkim char *Signature); 441209746Sjkim 442167802Sjkimvoid 443167802SjkimAcpiDmDumpDataTable ( 444167802Sjkim ACPI_TABLE_HEADER *Table); 445167802Sjkim 446193267SjkimACPI_STATUS 447167802SjkimAcpiDmDumpTable ( 448167802Sjkim UINT32 TableLength, 449167802Sjkim UINT32 TableOffset, 450167802Sjkim void *Table, 451167802Sjkim UINT32 SubTableLength, 452167802Sjkim ACPI_DMTABLE_INFO *Info); 453167802Sjkim 454167802Sjkimvoid 455167802SjkimAcpiDmLineHeader ( 456167802Sjkim UINT32 Offset, 457167802Sjkim UINT32 ByteLength, 458167802Sjkim char *Name); 459167802Sjkim 460167802Sjkimvoid 461167802SjkimAcpiDmLineHeader2 ( 462167802Sjkim UINT32 Offset, 463167802Sjkim UINT32 ByteLength, 464167802Sjkim char *Name, 465167802Sjkim UINT32 Value); 466167802Sjkim 467167802Sjkim 468167802Sjkim/* 469167802Sjkim * dmtbdump 470167802Sjkim */ 471167802Sjkimvoid 472281687SjkimAcpiDmDumpBuffer ( 473281687Sjkim void *Table, 474281687Sjkim UINT32 BufferOffset, 475281687Sjkim UINT32 Length, 476281687Sjkim UINT32 AbsoluteOffset, 477284460Sjkim char *Header); 478281687Sjkim 479281687Sjkimvoid 480284460SjkimAcpiDmDumpUnicode ( 481284460Sjkim void *Table, 482284460Sjkim UINT32 BufferOffset, 483284460Sjkim UINT32 ByteLength); 484284460Sjkim 485284460Sjkimvoid 486167802SjkimAcpiDmDumpAsf ( 487167802Sjkim ACPI_TABLE_HEADER *Table); 488167802Sjkim 489167802Sjkimvoid 490167802SjkimAcpiDmDumpCpep ( 491167802Sjkim ACPI_TABLE_HEADER *Table); 492167802Sjkim 493167802Sjkimvoid 494239340SjkimAcpiDmDumpCsrt ( 495239340Sjkim ACPI_TABLE_HEADER *Table); 496239340Sjkim 497239340Sjkimvoid 498239340SjkimAcpiDmDumpDbg2 ( 499239340Sjkim ACPI_TABLE_HEADER *Table); 500239340Sjkim 501239340Sjkimvoid 502167802SjkimAcpiDmDumpDmar ( 503167802Sjkim ACPI_TABLE_HEADER *Table); 504167802Sjkim 505167802Sjkimvoid 506284460SjkimAcpiDmDumpDrtm ( 507284460Sjkim ACPI_TABLE_HEADER *Table); 508284460Sjkim 509284460Sjkimvoid 510193267SjkimAcpiDmDumpEinj ( 511193267Sjkim ACPI_TABLE_HEADER *Table); 512193267Sjkim 513193267Sjkimvoid 514193267SjkimAcpiDmDumpErst ( 515193267Sjkim ACPI_TABLE_HEADER *Table); 516193267Sjkim 517193267Sjkimvoid 518167802SjkimAcpiDmDumpFadt ( 519167802Sjkim ACPI_TABLE_HEADER *Table); 520167802Sjkim 521167802Sjkimvoid 522228110SjkimAcpiDmDumpFpdt ( 523228110Sjkim ACPI_TABLE_HEADER *Table); 524228110Sjkim 525228110Sjkimvoid 526281075SdimAcpiDmDumpGtdt ( 527281075Sdim ACPI_TABLE_HEADER *Table); 528281075Sdim 529281075Sdimvoid 530193267SjkimAcpiDmDumpHest ( 531167802Sjkim ACPI_TABLE_HEADER *Table); 532167802Sjkim 533167802Sjkimvoid 534284460SjkimAcpiDmDumpIort ( 535284460Sjkim ACPI_TABLE_HEADER *Table); 536284460Sjkim 537284460Sjkimvoid 538197104SjkimAcpiDmDumpIvrs ( 539197104Sjkim ACPI_TABLE_HEADER *Table); 540197104Sjkim 541197104Sjkimvoid 542281075SdimAcpiDmDumpLpit ( 543281075Sdim ACPI_TABLE_HEADER *Table); 544281075Sdim 545281075Sdimvoid 546228110SjkimAcpiDmDumpMadt ( 547228110Sjkim ACPI_TABLE_HEADER *Table); 548228110Sjkim 549228110Sjkimvoid 550167802SjkimAcpiDmDumpMcfg ( 551167802Sjkim ACPI_TABLE_HEADER *Table); 552167802Sjkim 553167802Sjkimvoid 554228110SjkimAcpiDmDumpMpst ( 555167802Sjkim ACPI_TABLE_HEADER *Table); 556167802Sjkim 557197104Sjkimvoid 558197104SjkimAcpiDmDumpMsct ( 559197104Sjkim ACPI_TABLE_HEADER *Table); 560197104Sjkim 561228110Sjkimvoid 562246849SjkimAcpiDmDumpMtmr ( 563246849Sjkim ACPI_TABLE_HEADER *Table); 564246849Sjkim 565246849Sjkimvoid 566284460SjkimAcpiDmDumpNfit ( 567284460Sjkim ACPI_TABLE_HEADER *Table); 568284460Sjkim 569284460Sjkimvoid 570228110SjkimAcpiDmDumpPcct ( 571228110Sjkim ACPI_TABLE_HEADER *Table); 572228110Sjkim 573228110Sjkimvoid 574228110SjkimAcpiDmDumpPmtt ( 575228110Sjkim ACPI_TABLE_HEADER *Table); 576228110Sjkim 577167802SjkimUINT32 578167802SjkimAcpiDmDumpRsdp ( 579167802Sjkim ACPI_TABLE_HEADER *Table); 580167802Sjkim 581167802Sjkimvoid 582167802SjkimAcpiDmDumpRsdt ( 583167802Sjkim ACPI_TABLE_HEADER *Table); 584167802Sjkim 585228110SjkimUINT32 586228110SjkimAcpiDmDumpS3pt ( 587228110Sjkim ACPI_TABLE_HEADER *Table); 588228110Sjkim 589167802Sjkimvoid 590219707SjkimAcpiDmDumpSlic ( 591219707Sjkim ACPI_TABLE_HEADER *Table); 592219707Sjkim 593219707Sjkimvoid 594167802SjkimAcpiDmDumpSlit ( 595167802Sjkim ACPI_TABLE_HEADER *Table); 596167802Sjkim 597167802Sjkimvoid 598193267SjkimAcpiDmDumpSrat ( 599193267Sjkim ACPI_TABLE_HEADER *Table); 600193267Sjkim 601193267Sjkimvoid 602284460SjkimAcpiDmDumpStao ( 603284460Sjkim ACPI_TABLE_HEADER *Table); 604284460Sjkim 605284460Sjkimvoid 606306536SjkimAcpiDmDumpTcpa ( 607306536Sjkim ACPI_TABLE_HEADER *Table); 608306536Sjkim 609306536Sjkimvoid 610246849SjkimAcpiDmDumpVrtc ( 611246849Sjkim ACPI_TABLE_HEADER *Table); 612246849Sjkim 613246849Sjkimvoid 614197104SjkimAcpiDmDumpWdat ( 615197104Sjkim ACPI_TABLE_HEADER *Table); 616197104Sjkim 617197104Sjkimvoid 618284460SjkimAcpiDmDumpWpbt ( 619284460Sjkim ACPI_TABLE_HEADER *Table); 620284460Sjkim 621284460Sjkimvoid 622167802SjkimAcpiDmDumpXsdt ( 623167802Sjkim ACPI_TABLE_HEADER *Table); 624167802Sjkim 625167802Sjkim 626167802Sjkim/* 627100966Siwasaki * dmwalk 628100966Siwasaki */ 629100966Siwasakivoid 630100966SiwasakiAcpiDmDisassemble ( 631100966Siwasaki ACPI_WALK_STATE *WalkState, 632100966Siwasaki ACPI_PARSE_OBJECT *Origin, 633100966Siwasaki UINT32 NumOpcodes); 634100966Siwasaki 635167802Sjkimvoid 636167802SjkimAcpiDmWalkParseTree ( 637167802Sjkim ACPI_PARSE_OBJECT *Op, 638167802Sjkim ASL_WALK_CALLBACK DescendingCallback, 639167802Sjkim ASL_WALK_CALLBACK AscendingCallback, 640167802Sjkim void *Context); 641100966Siwasaki 642167802Sjkim 643151937Sjkim/* 644151937Sjkim * dmopcode 645151937Sjkim */ 646100966Siwasakivoid 647100966SiwasakiAcpiDmDisassembleOneOp ( 648100966Siwasaki ACPI_WALK_STATE *WalkState, 649102550Siwasaki ACPI_OP_WALK_INFO *Info, 650100966Siwasaki ACPI_PARSE_OBJECT *Op); 651100966Siwasaki 652100966SiwasakiUINT32 653100966SiwasakiAcpiDmListType ( 654100966Siwasaki ACPI_PARSE_OBJECT *Op); 655100966Siwasaki 656100966Siwasakivoid 657100966SiwasakiAcpiDmMethodFlags ( 658100966Siwasaki ACPI_PARSE_OBJECT *Op); 659100966Siwasaki 660100966Siwasakivoid 661281075SdimAcpiDmDisplayTargetPathname ( 662281075Sdim ACPI_PARSE_OBJECT *Op); 663281075Sdim 664281075Sdimvoid 665281075SdimAcpiDmNotifyDescription ( 666281075Sdim ACPI_PARSE_OBJECT *Op); 667281075Sdim 668281075Sdimvoid 669237412SjkimAcpiDmPredefinedDescription ( 670237412Sjkim ACPI_PARSE_OBJECT *Op); 671237412Sjkim 672237412Sjkimvoid 673237412SjkimAcpiDmFieldPredefinedDescription ( 674237412Sjkim ACPI_PARSE_OBJECT *Op); 675237412Sjkim 676237412Sjkimvoid 677100966SiwasakiAcpiDmFieldFlags ( 678100966Siwasaki ACPI_PARSE_OBJECT *Op); 679100966Siwasaki 680100966Siwasakivoid 681100966SiwasakiAcpiDmAddressSpace ( 682100966Siwasaki UINT8 SpaceId); 683100966Siwasaki 684100966Siwasakivoid 685100966SiwasakiAcpiDmRegionFlags ( 686100966Siwasaki ACPI_PARSE_OBJECT *Op); 687100966Siwasaki 688100966Siwasakivoid 689100966SiwasakiAcpiDmMatchOp ( 690100966Siwasaki ACPI_PARSE_OBJECT *Op); 691100966Siwasaki 692100966Siwasaki 693102550Siwasaki/* 694151937Sjkim * dmnames 695117521Snjl */ 696151937SjkimUINT32 697151937SjkimAcpiDmDumpName ( 698193267Sjkim UINT32 Name); 699117521Snjl 700151937SjkimACPI_STATUS 701151937SjkimAcpiPsDisplayObjectPathname ( 702151937Sjkim ACPI_WALK_STATE *WalkState, 703151937Sjkim ACPI_PARSE_OBJECT *Op); 704151937Sjkim 705117521Snjlvoid 706151937SjkimAcpiDmNamestring ( 707151937Sjkim char *Name); 708117521Snjl 709151937Sjkim 710151937Sjkim/* 711100966Siwasaki * dmbuffer 712100966Siwasaki */ 713151937Sjkimvoid 714151937SjkimAcpiDmDisasmByteList ( 715151937Sjkim UINT32 Level, 716151937Sjkim UINT8 *ByteData, 717151937Sjkim UINT32 ByteCount); 718100966Siwasaki 719100966Siwasakivoid 720151937SjkimAcpiDmByteList ( 721151937Sjkim ACPI_OP_WALK_INFO *Info, 722100966Siwasaki ACPI_PARSE_OBJECT *Op); 723100966Siwasaki 724100966Siwasakivoid 725281075SdimAcpiDmCheckForHardwareId ( 726151937Sjkim ACPI_PARSE_OBJECT *Op); 727151937Sjkim 728151937Sjkimvoid 729281075SdimAcpiDmDecompressEisaId ( 730100966Siwasaki UINT32 EncodedId); 731100966Siwasaki 732100966SiwasakiBOOLEAN 733281075SdimAcpiDmIsUuidBuffer ( 734281075Sdim ACPI_PARSE_OBJECT *Op); 735281075Sdim 736281075SdimBOOLEAN 737100966SiwasakiAcpiDmIsUnicodeBuffer ( 738100966Siwasaki ACPI_PARSE_OBJECT *Op); 739100966Siwasaki 740100966SiwasakiBOOLEAN 741100966SiwasakiAcpiDmIsStringBuffer ( 742100966Siwasaki ACPI_PARSE_OBJECT *Op); 743100966Siwasaki 744239340SjkimBOOLEAN 745239340SjkimAcpiDmIsPldBuffer ( 746239340Sjkim ACPI_PARSE_OBJECT *Op); 747100966Siwasaki 748239340Sjkim 749100966Siwasaki/* 750243347Sjkim * dmdeferred 751243347Sjkim */ 752243347SjkimACPI_STATUS 753243347SjkimAcpiDmParseDeferredOps ( 754243347Sjkim ACPI_PARSE_OBJECT *Root); 755243347Sjkim 756243347Sjkim 757243347Sjkim/* 758198237Sjkim * dmextern 759198237Sjkim */ 760210976SjkimACPI_STATUS 761210976SjkimAcpiDmAddToExternalFileList ( 762210976Sjkim char *PathList); 763210976Sjkim 764198237Sjkimvoid 765210976SjkimAcpiDmClearExternalFileList ( 766210976Sjkim void); 767210976Sjkim 768210976Sjkimvoid 769281075SdimAcpiDmAddOpToExternalList ( 770198237Sjkim ACPI_PARSE_OBJECT *Op, 771198237Sjkim char *Path, 772198237Sjkim UINT8 Type, 773281075Sdim UINT32 Value, 774281075Sdim UINT16 Flags); 775198237Sjkim 776198237Sjkimvoid 777281075SdimAcpiDmAddNodeToExternalList ( 778281075Sdim ACPI_NAMESPACE_NODE *Node, 779281075Sdim UINT8 Type, 780281075Sdim UINT32 Value, 781281075Sdim UINT16 Flags); 782281075Sdim 783281075Sdimvoid 784198237SjkimAcpiDmAddExternalsToNamespace ( 785198237Sjkim void); 786198237Sjkim 787198237SjkimUINT32 788198237SjkimAcpiDmGetExternalMethodCount ( 789198237Sjkim void); 790198237Sjkim 791198237Sjkimvoid 792198237SjkimAcpiDmClearExternalList ( 793198237Sjkim void); 794198237Sjkim 795198237Sjkimvoid 796198237SjkimAcpiDmEmitExternals ( 797198237Sjkim void); 798198237Sjkim 799246849Sjkimvoid 800246849SjkimAcpiDmUnresolvedWarning ( 801246849Sjkim UINT8 Type); 802198237Sjkim 803254745Sjkimvoid 804254745SjkimAcpiDmGetExternalsFromFile ( 805254745Sjkim void); 806246849Sjkim 807198237Sjkim/* 808100966Siwasaki * dmresrc 809100966Siwasaki */ 810151937Sjkimvoid 811151937SjkimAcpiDmDumpInteger8 ( 812151937Sjkim UINT8 Value, 813306536Sjkim const char *Name); 814100966Siwasaki 815100966Siwasakivoid 816151937SjkimAcpiDmDumpInteger16 ( 817151937Sjkim UINT16 Value, 818306536Sjkim const char *Name); 819100966Siwasaki 820100966Siwasakivoid 821151937SjkimAcpiDmDumpInteger32 ( 822151937Sjkim UINT32 Value, 823306536Sjkim const char *Name); 824100966Siwasaki 825100966Siwasakivoid 826151937SjkimAcpiDmDumpInteger64 ( 827151937Sjkim UINT64 Value, 828306536Sjkim const char *Name); 829151937Sjkim 830151937Sjkimvoid 831151937SjkimAcpiDmResourceTemplate ( 832102550Siwasaki ACPI_OP_WALK_INFO *Info, 833167802Sjkim ACPI_PARSE_OBJECT *Op, 834100966Siwasaki UINT8 *ByteData, 835100966Siwasaki UINT32 ByteCount); 836100966Siwasaki 837167802SjkimACPI_STATUS 838151937SjkimAcpiDmIsResourceTemplate ( 839243347Sjkim ACPI_WALK_STATE *WalkState, 840100966Siwasaki ACPI_PARSE_OBJECT *Op); 841100966Siwasaki 842100966Siwasakivoid 843100966SiwasakiAcpiDmBitList ( 844100966Siwasaki UINT16 Mask); 845100966Siwasaki 846107325Siwasakivoid 847167802SjkimAcpiDmDescriptorName ( 848167802Sjkim void); 849151937Sjkim 850167802Sjkim 851100966Siwasaki/* 852100966Siwasaki * dmresrcl 853100966Siwasaki */ 854100966Siwasakivoid 855100966SiwasakiAcpiDmWordDescriptor ( 856281075Sdim ACPI_OP_WALK_INFO *Info, 857151937Sjkim AML_RESOURCE *Resource, 858100966Siwasaki UINT32 Length, 859100966Siwasaki UINT32 Level); 860100966Siwasaki 861100966Siwasakivoid 862100966SiwasakiAcpiDmDwordDescriptor ( 863281075Sdim ACPI_OP_WALK_INFO *Info, 864151937Sjkim AML_RESOURCE *Resource, 865100966Siwasaki UINT32 Length, 866100966Siwasaki UINT32 Level); 867100966Siwasaki 868100966Siwasakivoid 869151937SjkimAcpiDmExtendedDescriptor ( 870281075Sdim ACPI_OP_WALK_INFO *Info, 871151937Sjkim AML_RESOURCE *Resource, 872151937Sjkim UINT32 Length, 873151937Sjkim UINT32 Level); 874151937Sjkim 875151937Sjkimvoid 876100966SiwasakiAcpiDmQwordDescriptor ( 877281075Sdim ACPI_OP_WALK_INFO *Info, 878151937Sjkim AML_RESOURCE *Resource, 879100966Siwasaki UINT32 Length, 880100966Siwasaki UINT32 Level); 881100966Siwasaki 882100966Siwasakivoid 883100966SiwasakiAcpiDmMemory24Descriptor ( 884281075Sdim ACPI_OP_WALK_INFO *Info, 885151937Sjkim AML_RESOURCE *Resource, 886100966Siwasaki UINT32 Length, 887100966Siwasaki UINT32 Level); 888100966Siwasaki 889100966Siwasakivoid 890100966SiwasakiAcpiDmMemory32Descriptor ( 891281075Sdim ACPI_OP_WALK_INFO *Info, 892151937Sjkim AML_RESOURCE *Resource, 893100966Siwasaki UINT32 Length, 894100966Siwasaki UINT32 Level); 895100966Siwasaki 896100966Siwasakivoid 897151937SjkimAcpiDmFixedMemory32Descriptor ( 898281075Sdim ACPI_OP_WALK_INFO *Info, 899151937Sjkim AML_RESOURCE *Resource, 900100966Siwasaki UINT32 Length, 901100966Siwasaki UINT32 Level); 902100966Siwasaki 903100966Siwasakivoid 904100966SiwasakiAcpiDmGenericRegisterDescriptor ( 905281075Sdim ACPI_OP_WALK_INFO *Info, 906151937Sjkim AML_RESOURCE *Resource, 907100966Siwasaki UINT32 Length, 908100966Siwasaki UINT32 Level); 909100966Siwasaki 910100966Siwasakivoid 911100966SiwasakiAcpiDmInterruptDescriptor ( 912281075Sdim ACPI_OP_WALK_INFO *Info, 913151937Sjkim AML_RESOURCE *Resource, 914100966Siwasaki UINT32 Length, 915100966Siwasaki UINT32 Level); 916100966Siwasaki 917100966Siwasakivoid 918100966SiwasakiAcpiDmVendorLargeDescriptor ( 919281075Sdim ACPI_OP_WALK_INFO *Info, 920151937Sjkim AML_RESOURCE *Resource, 921100966Siwasaki UINT32 Length, 922100966Siwasaki UINT32 Level); 923100966Siwasaki 924151937Sjkimvoid 925228110SjkimAcpiDmGpioDescriptor ( 926281075Sdim ACPI_OP_WALK_INFO *Info, 927228110Sjkim AML_RESOURCE *Resource, 928228110Sjkim UINT32 Length, 929228110Sjkim UINT32 Level); 930228110Sjkim 931228110Sjkimvoid 932228110SjkimAcpiDmSerialBusDescriptor ( 933281075Sdim ACPI_OP_WALK_INFO *Info, 934228110Sjkim AML_RESOURCE *Resource, 935228110Sjkim UINT32 Length, 936228110Sjkim UINT32 Level); 937228110Sjkim 938228110Sjkimvoid 939151937SjkimAcpiDmVendorCommon ( 940306536Sjkim const char *Name, 941151937Sjkim UINT8 *ByteData, 942151937Sjkim UINT32 Length, 943151937Sjkim UINT32 Level); 944100966Siwasaki 945151937Sjkim 946100966Siwasaki/* 947100966Siwasaki * dmresrcs 948100966Siwasaki */ 949100966Siwasakivoid 950100966SiwasakiAcpiDmIrqDescriptor ( 951281075Sdim ACPI_OP_WALK_INFO *Info, 952151937Sjkim AML_RESOURCE *Resource, 953100966Siwasaki UINT32 Length, 954100966Siwasaki UINT32 Level); 955100966Siwasaki 956100966Siwasakivoid 957100966SiwasakiAcpiDmDmaDescriptor ( 958281075Sdim ACPI_OP_WALK_INFO *Info, 959151937Sjkim AML_RESOURCE *Resource, 960100966Siwasaki UINT32 Length, 961100966Siwasaki UINT32 Level); 962100966Siwasaki 963100966Siwasakivoid 964228110SjkimAcpiDmFixedDmaDescriptor ( 965281075Sdim ACPI_OP_WALK_INFO *Info, 966228110Sjkim AML_RESOURCE *Resource, 967228110Sjkim UINT32 Length, 968228110Sjkim UINT32 Level); 969228110Sjkim 970228110Sjkimvoid 971100966SiwasakiAcpiDmIoDescriptor ( 972281075Sdim ACPI_OP_WALK_INFO *Info, 973151937Sjkim AML_RESOURCE *Resource, 974100966Siwasaki UINT32 Length, 975100966Siwasaki UINT32 Level); 976100966Siwasaki 977100966Siwasakivoid 978100966SiwasakiAcpiDmFixedIoDescriptor ( 979281075Sdim ACPI_OP_WALK_INFO *Info, 980151937Sjkim AML_RESOURCE *Resource, 981100966Siwasaki UINT32 Length, 982100966Siwasaki UINT32 Level); 983100966Siwasaki 984100966Siwasakivoid 985100966SiwasakiAcpiDmStartDependentDescriptor ( 986281075Sdim ACPI_OP_WALK_INFO *Info, 987151937Sjkim AML_RESOURCE *Resource, 988100966Siwasaki UINT32 Length, 989100966Siwasaki UINT32 Level); 990100966Siwasaki 991100966Siwasakivoid 992100966SiwasakiAcpiDmEndDependentDescriptor ( 993281075Sdim ACPI_OP_WALK_INFO *Info, 994151937Sjkim AML_RESOURCE *Resource, 995100966Siwasaki UINT32 Length, 996100966Siwasaki UINT32 Level); 997100966Siwasaki 998100966Siwasakivoid 999100966SiwasakiAcpiDmVendorSmallDescriptor ( 1000281075Sdim ACPI_OP_WALK_INFO *Info, 1001151937Sjkim AML_RESOURCE *Resource, 1002100966Siwasaki UINT32 Length, 1003100966Siwasaki UINT32 Level); 1004100966Siwasaki 1005100966Siwasaki 1006128212Snjl/* 1007128212Snjl * dmutils 1008128212Snjl */ 1009128212Snjlvoid 1010198237SjkimAcpiDmDecodeAttribute ( 1011198237Sjkim UINT8 Attribute); 1012128212Snjl 1013198237Sjkimvoid 1014198237SjkimAcpiDmIndent ( 1015198237Sjkim UINT32 Level); 1016198237Sjkim 1017198237SjkimBOOLEAN 1018198237SjkimAcpiDmCommaIfListMember ( 1019198237Sjkim ACPI_PARSE_OBJECT *Op); 1020198237Sjkim 1021198237Sjkimvoid 1022198237SjkimAcpiDmCommaIfFieldMember ( 1023198237Sjkim ACPI_PARSE_OBJECT *Op); 1024198237Sjkim 1025198237Sjkim 1026167802Sjkim/* 1027167802Sjkim * dmrestag 1028167802Sjkim */ 1029167802Sjkimvoid 1030167802SjkimAcpiDmFindResources ( 1031167802Sjkim ACPI_PARSE_OBJECT *Root); 1032167802Sjkim 1033167802Sjkimvoid 1034167802SjkimAcpiDmCheckResourceReference ( 1035167802Sjkim ACPI_PARSE_OBJECT *Op, 1036167802Sjkim ACPI_WALK_STATE *WalkState); 1037167802Sjkim 1038209746Sjkim 1039209746Sjkim/* 1040281075Sdim * dmcstyle 1041281075Sdim */ 1042281075SdimBOOLEAN 1043281075SdimAcpiDmCheckForSymbolicOpcode ( 1044281075Sdim ACPI_PARSE_OBJECT *Op, 1045281075Sdim ACPI_OP_WALK_INFO *Info); 1046281075Sdim 1047281075Sdimvoid 1048281075SdimAcpiDmCloseOperator ( 1049281075Sdim ACPI_PARSE_OBJECT *Op); 1050281075Sdim 1051281075Sdim 1052281075Sdim/* 1053306536Sjkim * dmtables 1054209746Sjkim */ 1055209746Sjkimvoid 1056209746SjkimAdDisassemblerHeader ( 1057281687Sjkim char *Filename, 1058281687Sjkim UINT8 TableType); 1059209746Sjkim 1060281687Sjkim#define ACPI_IS_AML_TABLE 0 1061281687Sjkim#define ACPI_IS_DATA_TABLE 1 1062281687Sjkim 1063306536Sjkim 1064306536Sjkim/* 1065306536Sjkim * adisasm 1066306536Sjkim */ 1067306536SjkimACPI_STATUS 1068306536SjkimAdAmlDisassemble ( 1069306536Sjkim BOOLEAN OutToFile, 1070306536Sjkim char *Filename, 1071306536Sjkim char *Prefix, 1072306536Sjkim char **OutFilename); 1073306536Sjkim 1074306536SjkimACPI_STATUS 1075306536SjkimAdGetLocalTables ( 1076306536Sjkim void); 1077306536Sjkim 1078306536SjkimACPI_STATUS 1079306536SjkimAdParseTable ( 1080306536Sjkim ACPI_TABLE_HEADER *Table, 1081306536Sjkim ACPI_OWNER_ID *OwnerId, 1082306536Sjkim BOOLEAN LoadTable, 1083306536Sjkim BOOLEAN External); 1084306536Sjkim 1085306536SjkimACPI_STATUS 1086306536SjkimAdDisplayTables ( 1087306536Sjkim char *Filename, 1088306536Sjkim ACPI_TABLE_HEADER *Table); 1089306536Sjkim 1090306536SjkimACPI_STATUS 1091306536SjkimAdDisplayStatistics ( 1092306536Sjkim void); 1093306536Sjkim 1094100966Siwasaki#endif /* __ACDISASM_H__ */ 1095