1*a9643ea8Slogwang /****************************************************************************** 2*a9643ea8Slogwang * 3*a9643ea8Slogwang * Name: acdebug.h - ACPI/AML debugger 4*a9643ea8Slogwang * 5*a9643ea8Slogwang *****************************************************************************/ 6*a9643ea8Slogwang 7*a9643ea8Slogwang /* 8*a9643ea8Slogwang * Copyright (C) 2000 - 2016, Intel Corp. 9*a9643ea8Slogwang * All rights reserved. 10*a9643ea8Slogwang * 11*a9643ea8Slogwang * Redistribution and use in source and binary forms, with or without 12*a9643ea8Slogwang * modification, are permitted provided that the following conditions 13*a9643ea8Slogwang * are met: 14*a9643ea8Slogwang * 1. Redistributions of source code must retain the above copyright 15*a9643ea8Slogwang * notice, this list of conditions, and the following disclaimer, 16*a9643ea8Slogwang * without modification. 17*a9643ea8Slogwang * 2. Redistributions in binary form must reproduce at minimum a disclaimer 18*a9643ea8Slogwang * substantially similar to the "NO WARRANTY" disclaimer below 19*a9643ea8Slogwang * ("Disclaimer") and any redistribution must be conditioned upon 20*a9643ea8Slogwang * including a substantially similar Disclaimer requirement for further 21*a9643ea8Slogwang * binary redistribution. 22*a9643ea8Slogwang * 3. Neither the names of the above-listed copyright holders nor the names 23*a9643ea8Slogwang * of any contributors may be used to endorse or promote products derived 24*a9643ea8Slogwang * from this software without specific prior written permission. 25*a9643ea8Slogwang * 26*a9643ea8Slogwang * Alternatively, this software may be distributed under the terms of the 27*a9643ea8Slogwang * GNU General Public License ("GPL") version 2 as published by the Free 28*a9643ea8Slogwang * Software Foundation. 29*a9643ea8Slogwang * 30*a9643ea8Slogwang * NO WARRANTY 31*a9643ea8Slogwang * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 32*a9643ea8Slogwang * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 33*a9643ea8Slogwang * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR 34*a9643ea8Slogwang * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 35*a9643ea8Slogwang * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 36*a9643ea8Slogwang * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 37*a9643ea8Slogwang * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 38*a9643ea8Slogwang * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 39*a9643ea8Slogwang * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 40*a9643ea8Slogwang * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 41*a9643ea8Slogwang * POSSIBILITY OF SUCH DAMAGES. 42*a9643ea8Slogwang */ 43*a9643ea8Slogwang 44*a9643ea8Slogwang #ifndef __ACDEBUG_H__ 45*a9643ea8Slogwang #define __ACDEBUG_H__ 46*a9643ea8Slogwang 47*a9643ea8Slogwang /* The debugger is used in conjunction with the disassembler most of time */ 48*a9643ea8Slogwang 49*a9643ea8Slogwang #ifdef ACPI_DISASSEMBLER 50*a9643ea8Slogwang #include <contrib/dev/acpica/include/acdisasm.h> 51*a9643ea8Slogwang #endif 52*a9643ea8Slogwang 53*a9643ea8Slogwang 54*a9643ea8Slogwang #define ACPI_DEBUG_BUFFER_SIZE 0x4000 /* 16K buffer for return objects */ 55*a9643ea8Slogwang 56*a9643ea8Slogwang typedef struct acpi_db_command_info 57*a9643ea8Slogwang { 58*a9643ea8Slogwang const char *Name; /* Command Name */ 59*a9643ea8Slogwang UINT8 MinArgs; /* Minimum arguments required */ 60*a9643ea8Slogwang 61*a9643ea8Slogwang } ACPI_DB_COMMAND_INFO; 62*a9643ea8Slogwang 63*a9643ea8Slogwang typedef struct acpi_db_command_help 64*a9643ea8Slogwang { 65*a9643ea8Slogwang UINT8 LineCount; /* Number of help lines */ 66*a9643ea8Slogwang char *Invocation; /* Command Invocation */ 67*a9643ea8Slogwang char *Description; /* Command Description */ 68*a9643ea8Slogwang 69*a9643ea8Slogwang } ACPI_DB_COMMAND_HELP; 70*a9643ea8Slogwang 71*a9643ea8Slogwang typedef struct acpi_db_argument_info 72*a9643ea8Slogwang { 73*a9643ea8Slogwang const char *Name; /* Argument Name */ 74*a9643ea8Slogwang 75*a9643ea8Slogwang } ACPI_DB_ARGUMENT_INFO; 76*a9643ea8Slogwang 77*a9643ea8Slogwang typedef struct acpi_db_execute_walk 78*a9643ea8Slogwang { 79*a9643ea8Slogwang UINT32 Count; 80*a9643ea8Slogwang UINT32 MaxCount; 81*a9643ea8Slogwang 82*a9643ea8Slogwang } ACPI_DB_EXECUTE_WALK; 83*a9643ea8Slogwang 84*a9643ea8Slogwang 85*a9643ea8Slogwang #define PARAM_LIST(pl) pl 86*a9643ea8Slogwang 87*a9643ea8Slogwang #define EX_NO_SINGLE_STEP 1 88*a9643ea8Slogwang #define EX_SINGLE_STEP 2 89*a9643ea8Slogwang 90*a9643ea8Slogwang 91*a9643ea8Slogwang /* 92*a9643ea8Slogwang * dbxface - external debugger interfaces 93*a9643ea8Slogwang */ 94*a9643ea8Slogwang ACPI_DBR_DEPENDENT_RETURN_OK ( 95*a9643ea8Slogwang ACPI_STATUS 96*a9643ea8Slogwang AcpiDbSingleStep ( 97*a9643ea8Slogwang ACPI_WALK_STATE *WalkState, 98*a9643ea8Slogwang ACPI_PARSE_OBJECT *Op, 99*a9643ea8Slogwang UINT32 OpType)) 100*a9643ea8Slogwang 101*a9643ea8Slogwang ACPI_DBR_DEPENDENT_RETURN_VOID ( 102*a9643ea8Slogwang void 103*a9643ea8Slogwang AcpiDbSignalBreakPoint ( 104*a9643ea8Slogwang ACPI_WALK_STATE *WalkState)) 105*a9643ea8Slogwang 106*a9643ea8Slogwang 107*a9643ea8Slogwang /* 108*a9643ea8Slogwang * dbcmds - debug commands and output routines 109*a9643ea8Slogwang */ 110*a9643ea8Slogwang ACPI_NAMESPACE_NODE * 111*a9643ea8Slogwang AcpiDbConvertToNode ( 112*a9643ea8Slogwang char *InString); 113*a9643ea8Slogwang 114*a9643ea8Slogwang void 115*a9643ea8Slogwang AcpiDbDisplayTableInfo ( 116*a9643ea8Slogwang char *TableArg); 117*a9643ea8Slogwang 118*a9643ea8Slogwang void 119*a9643ea8Slogwang AcpiDbDisplayTemplate ( 120*a9643ea8Slogwang char *BufferArg); 121*a9643ea8Slogwang 122*a9643ea8Slogwang void 123*a9643ea8Slogwang AcpiDbUnloadAcpiTable ( 124*a9643ea8Slogwang char *Name); 125*a9643ea8Slogwang 126*a9643ea8Slogwang void 127*a9643ea8Slogwang AcpiDbSendNotify ( 128*a9643ea8Slogwang char *Name, 129*a9643ea8Slogwang UINT32 Value); 130*a9643ea8Slogwang 131*a9643ea8Slogwang void 132*a9643ea8Slogwang AcpiDbDisplayInterfaces ( 133*a9643ea8Slogwang char *ActionArg, 134*a9643ea8Slogwang char *InterfaceNameArg); 135*a9643ea8Slogwang 136*a9643ea8Slogwang ACPI_STATUS 137*a9643ea8Slogwang AcpiDbSleep ( 138*a9643ea8Slogwang char *ObjectArg); 139*a9643ea8Slogwang 140*a9643ea8Slogwang void 141*a9643ea8Slogwang AcpiDbTrace ( 142*a9643ea8Slogwang char *EnableArg, 143*a9643ea8Slogwang char *MethodArg, 144*a9643ea8Slogwang char *OnceArg); 145*a9643ea8Slogwang 146*a9643ea8Slogwang void 147*a9643ea8Slogwang AcpiDbDisplayLocks ( 148*a9643ea8Slogwang void); 149*a9643ea8Slogwang 150*a9643ea8Slogwang void 151*a9643ea8Slogwang AcpiDbDisplayResources ( 152*a9643ea8Slogwang char *ObjectArg); 153*a9643ea8Slogwang 154*a9643ea8Slogwang ACPI_HW_DEPENDENT_RETURN_VOID ( 155*a9643ea8Slogwang void 156*a9643ea8Slogwang AcpiDbDisplayGpes ( 157*a9643ea8Slogwang void)) 158*a9643ea8Slogwang 159*a9643ea8Slogwang void 160*a9643ea8Slogwang AcpiDbDisplayHandlers ( 161*a9643ea8Slogwang void); 162*a9643ea8Slogwang 163*a9643ea8Slogwang ACPI_HW_DEPENDENT_RETURN_VOID ( 164*a9643ea8Slogwang void 165*a9643ea8Slogwang AcpiDbGenerateGpe ( 166*a9643ea8Slogwang char *GpeArg, 167*a9643ea8Slogwang char *BlockArg)) 168*a9643ea8Slogwang 169*a9643ea8Slogwang ACPI_HW_DEPENDENT_RETURN_VOID ( 170*a9643ea8Slogwang void 171*a9643ea8Slogwang AcpiDbGenerateSci ( 172*a9643ea8Slogwang void)) 173*a9643ea8Slogwang 174*a9643ea8Slogwang void 175*a9643ea8Slogwang AcpiDbExecuteTest ( 176*a9643ea8Slogwang char *TypeArg); 177*a9643ea8Slogwang 178*a9643ea8Slogwang 179*a9643ea8Slogwang /* 180*a9643ea8Slogwang * dbconvert - miscellaneous conversion routines 181*a9643ea8Slogwang */ 182*a9643ea8Slogwang ACPI_STATUS 183*a9643ea8Slogwang AcpiDbHexCharToValue ( 184*a9643ea8Slogwang int HexChar, 185*a9643ea8Slogwang UINT8 *ReturnValue); 186*a9643ea8Slogwang 187*a9643ea8Slogwang ACPI_STATUS 188*a9643ea8Slogwang AcpiDbConvertToPackage ( 189*a9643ea8Slogwang char *String, 190*a9643ea8Slogwang ACPI_OBJECT *Object); 191*a9643ea8Slogwang 192*a9643ea8Slogwang ACPI_STATUS 193*a9643ea8Slogwang AcpiDbConvertToObject ( 194*a9643ea8Slogwang ACPI_OBJECT_TYPE Type, 195*a9643ea8Slogwang char *String, 196*a9643ea8Slogwang ACPI_OBJECT *Object); 197*a9643ea8Slogwang 198*a9643ea8Slogwang UINT8 * 199*a9643ea8Slogwang AcpiDbEncodePldBuffer ( 200*a9643ea8Slogwang ACPI_PLD_INFO *PldInfo); 201*a9643ea8Slogwang 202*a9643ea8Slogwang void 203*a9643ea8Slogwang AcpiDbDumpPldBuffer ( 204*a9643ea8Slogwang ACPI_OBJECT *ObjDesc); 205*a9643ea8Slogwang 206*a9643ea8Slogwang 207*a9643ea8Slogwang /* 208*a9643ea8Slogwang * dbmethod - control method commands 209*a9643ea8Slogwang */ 210*a9643ea8Slogwang void 211*a9643ea8Slogwang AcpiDbSetMethodBreakpoint ( 212*a9643ea8Slogwang char *Location, 213*a9643ea8Slogwang ACPI_WALK_STATE *WalkState, 214*a9643ea8Slogwang ACPI_PARSE_OBJECT *Op); 215*a9643ea8Slogwang 216*a9643ea8Slogwang void 217*a9643ea8Slogwang AcpiDbSetMethodCallBreakpoint ( 218*a9643ea8Slogwang ACPI_PARSE_OBJECT *Op); 219*a9643ea8Slogwang 220*a9643ea8Slogwang void 221*a9643ea8Slogwang AcpiDbSetMethodData ( 222*a9643ea8Slogwang char *TypeArg, 223*a9643ea8Slogwang char *IndexArg, 224*a9643ea8Slogwang char *ValueArg); 225*a9643ea8Slogwang 226*a9643ea8Slogwang ACPI_STATUS 227*a9643ea8Slogwang AcpiDbDisassembleMethod ( 228*a9643ea8Slogwang char *Name); 229*a9643ea8Slogwang 230*a9643ea8Slogwang void 231*a9643ea8Slogwang AcpiDbDisassembleAml ( 232*a9643ea8Slogwang char *Statements, 233*a9643ea8Slogwang ACPI_PARSE_OBJECT *Op); 234*a9643ea8Slogwang 235*a9643ea8Slogwang void 236*a9643ea8Slogwang AcpiDbBatchExecute ( 237*a9643ea8Slogwang char *CountArg); 238*a9643ea8Slogwang 239*a9643ea8Slogwang 240*a9643ea8Slogwang /* 241*a9643ea8Slogwang * dbnames - namespace commands 242*a9643ea8Slogwang */ 243*a9643ea8Slogwang void 244*a9643ea8Slogwang AcpiDbSetScope ( 245*a9643ea8Slogwang char *Name); 246*a9643ea8Slogwang 247*a9643ea8Slogwang void 248*a9643ea8Slogwang AcpiDbDumpNamespace ( 249*a9643ea8Slogwang char *StartArg, 250*a9643ea8Slogwang char *DepthArg); 251*a9643ea8Slogwang 252*a9643ea8Slogwang void 253*a9643ea8Slogwang AcpiDbDumpNamespacePaths ( 254*a9643ea8Slogwang void); 255*a9643ea8Slogwang 256*a9643ea8Slogwang void 257*a9643ea8Slogwang AcpiDbDumpNamespaceByOwner ( 258*a9643ea8Slogwang char *OwnerArg, 259*a9643ea8Slogwang char *DepthArg); 260*a9643ea8Slogwang 261*a9643ea8Slogwang ACPI_STATUS 262*a9643ea8Slogwang AcpiDbFindNameInNamespace ( 263*a9643ea8Slogwang char *NameArg); 264*a9643ea8Slogwang 265*a9643ea8Slogwang void 266*a9643ea8Slogwang AcpiDbCheckPredefinedNames ( 267*a9643ea8Slogwang void); 268*a9643ea8Slogwang 269*a9643ea8Slogwang ACPI_STATUS 270*a9643ea8Slogwang AcpiDbDisplayObjects ( 271*a9643ea8Slogwang char *ObjTypeArg, 272*a9643ea8Slogwang char *DisplayCountArg); 273*a9643ea8Slogwang 274*a9643ea8Slogwang void 275*a9643ea8Slogwang AcpiDbCheckIntegrity ( 276*a9643ea8Slogwang void); 277*a9643ea8Slogwang 278*a9643ea8Slogwang void 279*a9643ea8Slogwang AcpiDbFindReferences ( 280*a9643ea8Slogwang char *ObjectArg); 281*a9643ea8Slogwang 282*a9643ea8Slogwang void 283*a9643ea8Slogwang AcpiDbGetBusInfo ( 284*a9643ea8Slogwang void); 285*a9643ea8Slogwang 286*a9643ea8Slogwang 287*a9643ea8Slogwang /* 288*a9643ea8Slogwang * dbdisply - debug display commands 289*a9643ea8Slogwang */ 290*a9643ea8Slogwang void 291*a9643ea8Slogwang AcpiDbDisplayMethodInfo ( 292*a9643ea8Slogwang ACPI_PARSE_OBJECT *Op); 293*a9643ea8Slogwang 294*a9643ea8Slogwang void 295*a9643ea8Slogwang AcpiDbDecodeAndDisplayObject ( 296*a9643ea8Slogwang char *Target, 297*a9643ea8Slogwang char *OutputType); 298*a9643ea8Slogwang 299*a9643ea8Slogwang ACPI_DBR_DEPENDENT_RETURN_VOID ( 300*a9643ea8Slogwang void 301*a9643ea8Slogwang AcpiDbDisplayResultObject ( 302*a9643ea8Slogwang ACPI_OPERAND_OBJECT *ObjDesc, 303*a9643ea8Slogwang ACPI_WALK_STATE *WalkState)) 304*a9643ea8Slogwang 305*a9643ea8Slogwang ACPI_STATUS 306*a9643ea8Slogwang AcpiDbDisplayAllMethods ( 307*a9643ea8Slogwang char *DisplayCountArg); 308*a9643ea8Slogwang 309*a9643ea8Slogwang void 310*a9643ea8Slogwang AcpiDbDisplayArguments ( 311*a9643ea8Slogwang void); 312*a9643ea8Slogwang 313*a9643ea8Slogwang void 314*a9643ea8Slogwang AcpiDbDisplayLocals ( 315*a9643ea8Slogwang void); 316*a9643ea8Slogwang 317*a9643ea8Slogwang void 318*a9643ea8Slogwang AcpiDbDisplayResults ( 319*a9643ea8Slogwang void); 320*a9643ea8Slogwang 321*a9643ea8Slogwang void 322*a9643ea8Slogwang AcpiDbDisplayCallingTree ( 323*a9643ea8Slogwang void); 324*a9643ea8Slogwang 325*a9643ea8Slogwang void 326*a9643ea8Slogwang AcpiDbDisplayObjectType ( 327*a9643ea8Slogwang char *ObjectArg); 328*a9643ea8Slogwang 329*a9643ea8Slogwang ACPI_DBR_DEPENDENT_RETURN_VOID ( 330*a9643ea8Slogwang void 331*a9643ea8Slogwang AcpiDbDisplayArgumentObject ( 332*a9643ea8Slogwang ACPI_OPERAND_OBJECT *ObjDesc, 333*a9643ea8Slogwang ACPI_WALK_STATE *WalkState)) 334*a9643ea8Slogwang 335*a9643ea8Slogwang 336*a9643ea8Slogwang /* 337*a9643ea8Slogwang * dbexec - debugger control method execution 338*a9643ea8Slogwang */ 339*a9643ea8Slogwang void 340*a9643ea8Slogwang AcpiDbExecute ( 341*a9643ea8Slogwang char *Name, 342*a9643ea8Slogwang char **Args, 343*a9643ea8Slogwang ACPI_OBJECT_TYPE *Types, 344*a9643ea8Slogwang UINT32 Flags); 345*a9643ea8Slogwang 346*a9643ea8Slogwang void 347*a9643ea8Slogwang AcpiDbCreateExecutionThreads ( 348*a9643ea8Slogwang char *NumThreadsArg, 349*a9643ea8Slogwang char *NumLoopsArg, 350*a9643ea8Slogwang char *MethodNameArg); 351*a9643ea8Slogwang 352*a9643ea8Slogwang void 353*a9643ea8Slogwang AcpiDbDeleteObjects ( 354*a9643ea8Slogwang UINT32 Count, 355*a9643ea8Slogwang ACPI_OBJECT *Objects); 356*a9643ea8Slogwang 357*a9643ea8Slogwang #ifdef ACPI_DBG_TRACK_ALLOCATIONS 358*a9643ea8Slogwang UINT32 359*a9643ea8Slogwang AcpiDbGetCacheInfo ( 360*a9643ea8Slogwang ACPI_MEMORY_LIST *Cache); 361*a9643ea8Slogwang #endif 362*a9643ea8Slogwang 363*a9643ea8Slogwang 364*a9643ea8Slogwang /* 365*a9643ea8Slogwang * dbfileio - Debugger file I/O commands 366*a9643ea8Slogwang */ 367*a9643ea8Slogwang ACPI_OBJECT_TYPE 368*a9643ea8Slogwang AcpiDbMatchArgument ( 369*a9643ea8Slogwang char *UserArgument, 370*a9643ea8Slogwang ACPI_DB_ARGUMENT_INFO *Arguments); 371*a9643ea8Slogwang 372*a9643ea8Slogwang void 373*a9643ea8Slogwang AcpiDbCloseDebugFile ( 374*a9643ea8Slogwang void); 375*a9643ea8Slogwang 376*a9643ea8Slogwang void 377*a9643ea8Slogwang AcpiDbOpenDebugFile ( 378*a9643ea8Slogwang char *Name); 379*a9643ea8Slogwang 380*a9643ea8Slogwang ACPI_STATUS 381*a9643ea8Slogwang AcpiDbLoadAcpiTable ( 382*a9643ea8Slogwang char *Filename); 383*a9643ea8Slogwang 384*a9643ea8Slogwang ACPI_STATUS 385*a9643ea8Slogwang AcpiDbLoadTables ( 386*a9643ea8Slogwang ACPI_NEW_TABLE_DESC *ListHead); 387*a9643ea8Slogwang 388*a9643ea8Slogwang 389*a9643ea8Slogwang /* 390*a9643ea8Slogwang * dbhistry - debugger HISTORY command 391*a9643ea8Slogwang */ 392*a9643ea8Slogwang void 393*a9643ea8Slogwang AcpiDbAddToHistory ( 394*a9643ea8Slogwang char *CommandLine); 395*a9643ea8Slogwang 396*a9643ea8Slogwang void 397*a9643ea8Slogwang AcpiDbDisplayHistory ( 398*a9643ea8Slogwang void); 399*a9643ea8Slogwang 400*a9643ea8Slogwang char * 401*a9643ea8Slogwang AcpiDbGetFromHistory ( 402*a9643ea8Slogwang char *CommandNumArg); 403*a9643ea8Slogwang 404*a9643ea8Slogwang char * 405*a9643ea8Slogwang AcpiDbGetHistoryByIndex ( 406*a9643ea8Slogwang UINT32 CommanddNum); 407*a9643ea8Slogwang 408*a9643ea8Slogwang 409*a9643ea8Slogwang /* 410*a9643ea8Slogwang * dbinput - user front-end to the AML debugger 411*a9643ea8Slogwang */ 412*a9643ea8Slogwang ACPI_STATUS 413*a9643ea8Slogwang AcpiDbCommandDispatch ( 414*a9643ea8Slogwang char *InputBuffer, 415*a9643ea8Slogwang ACPI_WALK_STATE *WalkState, 416*a9643ea8Slogwang ACPI_PARSE_OBJECT *Op); 417*a9643ea8Slogwang 418*a9643ea8Slogwang void ACPI_SYSTEM_XFACE 419*a9643ea8Slogwang AcpiDbExecuteThread ( 420*a9643ea8Slogwang void *Context); 421*a9643ea8Slogwang 422*a9643ea8Slogwang ACPI_STATUS 423*a9643ea8Slogwang AcpiDbUserCommands ( 424*a9643ea8Slogwang char Prompt, 425*a9643ea8Slogwang ACPI_PARSE_OBJECT *Op); 426*a9643ea8Slogwang 427*a9643ea8Slogwang char * 428*a9643ea8Slogwang AcpiDbGetNextToken ( 429*a9643ea8Slogwang char *String, 430*a9643ea8Slogwang char **Next, 431*a9643ea8Slogwang ACPI_OBJECT_TYPE *ReturnType); 432*a9643ea8Slogwang 433*a9643ea8Slogwang 434*a9643ea8Slogwang /* 435*a9643ea8Slogwang * dbobject 436*a9643ea8Slogwang */ 437*a9643ea8Slogwang void 438*a9643ea8Slogwang AcpiDbDecodeInternalObject ( 439*a9643ea8Slogwang ACPI_OPERAND_OBJECT *ObjDesc); 440*a9643ea8Slogwang 441*a9643ea8Slogwang void 442*a9643ea8Slogwang AcpiDbDisplayInternalObject ( 443*a9643ea8Slogwang ACPI_OPERAND_OBJECT *ObjDesc, 444*a9643ea8Slogwang ACPI_WALK_STATE *WalkState); 445*a9643ea8Slogwang 446*a9643ea8Slogwang void 447*a9643ea8Slogwang AcpiDbDecodeArguments ( 448*a9643ea8Slogwang ACPI_WALK_STATE *WalkState); 449*a9643ea8Slogwang 450*a9643ea8Slogwang void 451*a9643ea8Slogwang AcpiDbDecodeLocals ( 452*a9643ea8Slogwang ACPI_WALK_STATE *WalkState); 453*a9643ea8Slogwang 454*a9643ea8Slogwang void 455*a9643ea8Slogwang AcpiDbDumpMethodInfo ( 456*a9643ea8Slogwang ACPI_STATUS Status, 457*a9643ea8Slogwang ACPI_WALK_STATE *WalkState); 458*a9643ea8Slogwang 459*a9643ea8Slogwang 460*a9643ea8Slogwang /* 461*a9643ea8Slogwang * dbstats - Generation and display of ACPI table statistics 462*a9643ea8Slogwang */ 463*a9643ea8Slogwang void 464*a9643ea8Slogwang AcpiDbGenerateStatistics ( 465*a9643ea8Slogwang ACPI_PARSE_OBJECT *Root, 466*a9643ea8Slogwang BOOLEAN IsMethod); 467*a9643ea8Slogwang 468*a9643ea8Slogwang ACPI_STATUS 469*a9643ea8Slogwang AcpiDbDisplayStatistics ( 470*a9643ea8Slogwang char *TypeArg); 471*a9643ea8Slogwang 472*a9643ea8Slogwang 473*a9643ea8Slogwang /* 474*a9643ea8Slogwang * dbutils - AML debugger utilities 475*a9643ea8Slogwang */ 476*a9643ea8Slogwang void 477*a9643ea8Slogwang AcpiDbSetOutputDestination ( 478*a9643ea8Slogwang UINT32 Where); 479*a9643ea8Slogwang 480*a9643ea8Slogwang void 481*a9643ea8Slogwang AcpiDbDumpExternalObject ( 482*a9643ea8Slogwang ACPI_OBJECT *ObjDesc, 483*a9643ea8Slogwang UINT32 Level); 484*a9643ea8Slogwang 485*a9643ea8Slogwang void 486*a9643ea8Slogwang AcpiDbPrepNamestring ( 487*a9643ea8Slogwang char *Name); 488*a9643ea8Slogwang 489*a9643ea8Slogwang ACPI_NAMESPACE_NODE * 490*a9643ea8Slogwang AcpiDbLocalNsLookup ( 491*a9643ea8Slogwang char *Name); 492*a9643ea8Slogwang 493*a9643ea8Slogwang void 494*a9643ea8Slogwang AcpiDbUint32ToHexString ( 495*a9643ea8Slogwang UINT32 Value, 496*a9643ea8Slogwang char *Buffer); 497*a9643ea8Slogwang 498*a9643ea8Slogwang #endif /* __ACDEBUG_H__ */ 499