xref: /titanic_52/usr/src/uts/intel/sys/acpi/acdebug.h (revision 385cc6b4ad1792caef3f84eb61eed3f27085801f)
17c478bd9Sstevel@tonic-gate /******************************************************************************
27c478bd9Sstevel@tonic-gate  *
37c478bd9Sstevel@tonic-gate  * Name: acdebug.h - ACPI/AML debugger
47c478bd9Sstevel@tonic-gate  *
57c478bd9Sstevel@tonic-gate  *****************************************************************************/
67c478bd9Sstevel@tonic-gate 
726f3cdf0SGordon Ross /*
8*385cc6b4SJerry Jelinek  * Copyright (C) 2000 - 2016, Intel Corp.
97c478bd9Sstevel@tonic-gate  * All rights reserved.
107c478bd9Sstevel@tonic-gate  *
1126f3cdf0SGordon Ross  * Redistribution and use in source and binary forms, with or without
1226f3cdf0SGordon Ross  * modification, are permitted provided that the following conditions
1326f3cdf0SGordon Ross  * are met:
1426f3cdf0SGordon Ross  * 1. Redistributions of source code must retain the above copyright
1526f3cdf0SGordon Ross  *    notice, this list of conditions, and the following disclaimer,
1626f3cdf0SGordon Ross  *    without modification.
1726f3cdf0SGordon Ross  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
1826f3cdf0SGordon Ross  *    substantially similar to the "NO WARRANTY" disclaimer below
1926f3cdf0SGordon Ross  *    ("Disclaimer") and any redistribution must be conditioned upon
2026f3cdf0SGordon Ross  *    including a substantially similar Disclaimer requirement for further
2126f3cdf0SGordon Ross  *    binary redistribution.
2226f3cdf0SGordon Ross  * 3. Neither the names of the above-listed copyright holders nor the names
2326f3cdf0SGordon Ross  *    of any contributors may be used to endorse or promote products derived
2426f3cdf0SGordon Ross  *    from this software without specific prior written permission.
257c478bd9Sstevel@tonic-gate  *
2626f3cdf0SGordon Ross  * Alternatively, this software may be distributed under the terms of the
2726f3cdf0SGordon Ross  * GNU General Public License ("GPL") version 2 as published by the Free
2826f3cdf0SGordon Ross  * Software Foundation.
297c478bd9Sstevel@tonic-gate  *
3026f3cdf0SGordon Ross  * NO WARRANTY
3126f3cdf0SGordon Ross  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
3226f3cdf0SGordon Ross  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
3326f3cdf0SGordon Ross  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
3426f3cdf0SGordon Ross  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
3526f3cdf0SGordon Ross  * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
3626f3cdf0SGordon Ross  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
3726f3cdf0SGordon Ross  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
3826f3cdf0SGordon Ross  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
3926f3cdf0SGordon Ross  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
4026f3cdf0SGordon Ross  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
4126f3cdf0SGordon Ross  * POSSIBILITY OF SUCH DAMAGES.
4226f3cdf0SGordon Ross  */
437c478bd9Sstevel@tonic-gate 
447c478bd9Sstevel@tonic-gate #ifndef __ACDEBUG_H__
457c478bd9Sstevel@tonic-gate #define __ACDEBUG_H__
467c478bd9Sstevel@tonic-gate 
47*385cc6b4SJerry Jelinek /* The debugger is used in conjunction with the disassembler most of time */
48*385cc6b4SJerry Jelinek 
49*385cc6b4SJerry Jelinek #ifdef ACPI_DISASSEMBLER
50*385cc6b4SJerry Jelinek #include "acdisasm.h"
51*385cc6b4SJerry Jelinek #endif
52*385cc6b4SJerry Jelinek 
537c478bd9Sstevel@tonic-gate 
5426f3cdf0SGordon Ross #define ACPI_DEBUG_BUFFER_SIZE  0x4000      /* 16K buffer for return objects */
557c478bd9Sstevel@tonic-gate 
56*385cc6b4SJerry Jelinek typedef struct acpi_db_command_info
577c478bd9Sstevel@tonic-gate {
58*385cc6b4SJerry Jelinek     const char              *Name;          /* Command Name */
597c478bd9Sstevel@tonic-gate     UINT8                   MinArgs;        /* Minimum arguments required */
607c478bd9Sstevel@tonic-gate 
61*385cc6b4SJerry Jelinek } ACPI_DB_COMMAND_INFO;
627c478bd9Sstevel@tonic-gate 
63*385cc6b4SJerry Jelinek typedef struct acpi_db_command_help
647c478bd9Sstevel@tonic-gate {
65*385cc6b4SJerry Jelinek     UINT8                   LineCount;      /* Number of help lines */
66*385cc6b4SJerry Jelinek     char                    *Invocation;    /* Command Invocation */
67*385cc6b4SJerry Jelinek     char                    *Description;   /* Command Description */
687c478bd9Sstevel@tonic-gate 
69*385cc6b4SJerry Jelinek } ACPI_DB_COMMAND_HELP;
707c478bd9Sstevel@tonic-gate 
71*385cc6b4SJerry Jelinek typedef struct acpi_db_argument_info
72*385cc6b4SJerry Jelinek {
73*385cc6b4SJerry Jelinek     const char              *Name;          /* Argument Name */
74*385cc6b4SJerry Jelinek 
75*385cc6b4SJerry Jelinek } ACPI_DB_ARGUMENT_INFO;
76*385cc6b4SJerry Jelinek 
77*385cc6b4SJerry Jelinek typedef struct acpi_db_execute_walk
7857190917SDana Myers {
7957190917SDana Myers     UINT32                  Count;
8057190917SDana Myers     UINT32                  MaxCount;
8157190917SDana Myers 
82*385cc6b4SJerry Jelinek } ACPI_DB_EXECUTE_WALK;
8357190917SDana Myers 
847c478bd9Sstevel@tonic-gate 
857c478bd9Sstevel@tonic-gate #define PARAM_LIST(pl)                  pl
867c478bd9Sstevel@tonic-gate 
877c478bd9Sstevel@tonic-gate #define EX_NO_SINGLE_STEP               1
887c478bd9Sstevel@tonic-gate #define EX_SINGLE_STEP                  2
897c478bd9Sstevel@tonic-gate 
907c478bd9Sstevel@tonic-gate 
917c478bd9Sstevel@tonic-gate /*
927c478bd9Sstevel@tonic-gate  * dbxface - external debugger interfaces
937c478bd9Sstevel@tonic-gate  */
94*385cc6b4SJerry Jelinek ACPI_DBR_DEPENDENT_RETURN_OK (
957c478bd9Sstevel@tonic-gate ACPI_STATUS
967c478bd9Sstevel@tonic-gate AcpiDbSingleStep (
977c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
987c478bd9Sstevel@tonic-gate     ACPI_PARSE_OBJECT       *Op,
99*385cc6b4SJerry Jelinek     UINT32                  OpType))
100*385cc6b4SJerry Jelinek 
101*385cc6b4SJerry Jelinek ACPI_DBR_DEPENDENT_RETURN_VOID (
102*385cc6b4SJerry Jelinek void
103*385cc6b4SJerry Jelinek AcpiDbSignalBreakPoint (
104*385cc6b4SJerry Jelinek     ACPI_WALK_STATE         *WalkState))
1057c478bd9Sstevel@tonic-gate 
1067c478bd9Sstevel@tonic-gate 
1077c478bd9Sstevel@tonic-gate /*
1087c478bd9Sstevel@tonic-gate  * dbcmds - debug commands and output routines
1097c478bd9Sstevel@tonic-gate  */
11026f3cdf0SGordon Ross ACPI_NAMESPACE_NODE *
11126f3cdf0SGordon Ross AcpiDbConvertToNode (
11226f3cdf0SGordon Ross     char                    *InString);
1137c478bd9Sstevel@tonic-gate 
1147c478bd9Sstevel@tonic-gate void
1157c478bd9Sstevel@tonic-gate AcpiDbDisplayTableInfo (
1167c478bd9Sstevel@tonic-gate     char                    *TableArg);
1177c478bd9Sstevel@tonic-gate 
1187c478bd9Sstevel@tonic-gate void
119*385cc6b4SJerry Jelinek AcpiDbDisplayTemplate (
120*385cc6b4SJerry Jelinek     char                    *BufferArg);
121*385cc6b4SJerry Jelinek 
122*385cc6b4SJerry Jelinek void
1237c478bd9Sstevel@tonic-gate AcpiDbUnloadAcpiTable (
124*385cc6b4SJerry Jelinek     char                    *Name);
1257c478bd9Sstevel@tonic-gate 
1267c478bd9Sstevel@tonic-gate void
1277c478bd9Sstevel@tonic-gate AcpiDbSendNotify (
1287c478bd9Sstevel@tonic-gate     char                    *Name,
1297c478bd9Sstevel@tonic-gate     UINT32                  Value);
1307c478bd9Sstevel@tonic-gate 
1317c478bd9Sstevel@tonic-gate void
13226f3cdf0SGordon Ross AcpiDbDisplayInterfaces (
13326f3cdf0SGordon Ross     char                    *ActionArg,
13426f3cdf0SGordon Ross     char                    *InterfaceNameArg);
1357c478bd9Sstevel@tonic-gate 
1367c478bd9Sstevel@tonic-gate ACPI_STATUS
1377c478bd9Sstevel@tonic-gate AcpiDbSleep (
1387c478bd9Sstevel@tonic-gate     char                    *ObjectArg);
1397c478bd9Sstevel@tonic-gate 
1407c478bd9Sstevel@tonic-gate void
141*385cc6b4SJerry Jelinek AcpiDbTrace (
142*385cc6b4SJerry Jelinek     char                    *EnableArg,
143*385cc6b4SJerry Jelinek     char                    *MethodArg,
144*385cc6b4SJerry Jelinek     char                    *OnceArg);
145*385cc6b4SJerry Jelinek 
146*385cc6b4SJerry Jelinek void
1477c478bd9Sstevel@tonic-gate AcpiDbDisplayLocks (
1487c478bd9Sstevel@tonic-gate     void);
1497c478bd9Sstevel@tonic-gate 
1507c478bd9Sstevel@tonic-gate void
1517c478bd9Sstevel@tonic-gate AcpiDbDisplayResources (
1527c478bd9Sstevel@tonic-gate     char                    *ObjectArg);
1537c478bd9Sstevel@tonic-gate 
154*385cc6b4SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_VOID (
1557c478bd9Sstevel@tonic-gate void
1567c478bd9Sstevel@tonic-gate AcpiDbDisplayGpes (
157*385cc6b4SJerry Jelinek     void))
1587c478bd9Sstevel@tonic-gate 
1597c478bd9Sstevel@tonic-gate void
16026f3cdf0SGordon Ross AcpiDbDisplayHandlers (
1617c478bd9Sstevel@tonic-gate     void);
1627c478bd9Sstevel@tonic-gate 
163*385cc6b4SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_VOID (
1647c478bd9Sstevel@tonic-gate void
1657c478bd9Sstevel@tonic-gate AcpiDbGenerateGpe (
1667c478bd9Sstevel@tonic-gate     char                    *GpeArg,
167*385cc6b4SJerry Jelinek     char                    *BlockArg))
168*385cc6b4SJerry Jelinek 
169*385cc6b4SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_VOID (
170*385cc6b4SJerry Jelinek void
171*385cc6b4SJerry Jelinek AcpiDbGenerateSci (
172*385cc6b4SJerry Jelinek     void))
173*385cc6b4SJerry Jelinek 
174*385cc6b4SJerry Jelinek void
175*385cc6b4SJerry Jelinek AcpiDbExecuteTest (
176*385cc6b4SJerry Jelinek     char                    *TypeArg);
177*385cc6b4SJerry Jelinek 
178*385cc6b4SJerry Jelinek 
179*385cc6b4SJerry Jelinek /*
180*385cc6b4SJerry Jelinek  * dbconvert - miscellaneous conversion routines
181*385cc6b4SJerry Jelinek  */
182*385cc6b4SJerry Jelinek ACPI_STATUS
183*385cc6b4SJerry Jelinek AcpiDbHexCharToValue (
184*385cc6b4SJerry Jelinek     int                     HexChar,
185*385cc6b4SJerry Jelinek     UINT8                   *ReturnValue);
186*385cc6b4SJerry Jelinek 
187*385cc6b4SJerry Jelinek ACPI_STATUS
188*385cc6b4SJerry Jelinek AcpiDbConvertToPackage (
189*385cc6b4SJerry Jelinek     char                    *String,
190*385cc6b4SJerry Jelinek     ACPI_OBJECT             *Object);
191*385cc6b4SJerry Jelinek 
192*385cc6b4SJerry Jelinek ACPI_STATUS
193*385cc6b4SJerry Jelinek AcpiDbConvertToObject (
194*385cc6b4SJerry Jelinek     ACPI_OBJECT_TYPE        Type,
195*385cc6b4SJerry Jelinek     char                    *String,
196*385cc6b4SJerry Jelinek     ACPI_OBJECT             *Object);
197*385cc6b4SJerry Jelinek 
198*385cc6b4SJerry Jelinek UINT8 *
199*385cc6b4SJerry Jelinek AcpiDbEncodePldBuffer (
200*385cc6b4SJerry Jelinek     ACPI_PLD_INFO           *PldInfo);
201*385cc6b4SJerry Jelinek 
202*385cc6b4SJerry Jelinek void
203*385cc6b4SJerry Jelinek AcpiDbDumpPldBuffer (
204*385cc6b4SJerry Jelinek     ACPI_OBJECT             *ObjDesc);
2057c478bd9Sstevel@tonic-gate 
20626f3cdf0SGordon Ross 
20726f3cdf0SGordon Ross /*
20826f3cdf0SGordon Ross  * dbmethod - control method commands
20926f3cdf0SGordon Ross  */
210db2bae30SDana Myers void
21126f3cdf0SGordon Ross AcpiDbSetMethodBreakpoint (
21226f3cdf0SGordon Ross     char                    *Location,
21326f3cdf0SGordon Ross     ACPI_WALK_STATE         *WalkState,
21426f3cdf0SGordon Ross     ACPI_PARSE_OBJECT       *Op);
21526f3cdf0SGordon Ross 
21626f3cdf0SGordon Ross void
21726f3cdf0SGordon Ross AcpiDbSetMethodCallBreakpoint (
21826f3cdf0SGordon Ross     ACPI_PARSE_OBJECT       *Op);
21926f3cdf0SGordon Ross 
22026f3cdf0SGordon Ross void
22126f3cdf0SGordon Ross AcpiDbSetMethodData (
22226f3cdf0SGordon Ross     char                    *TypeArg,
22326f3cdf0SGordon Ross     char                    *IndexArg,
22426f3cdf0SGordon Ross     char                    *ValueArg);
22526f3cdf0SGordon Ross 
22626f3cdf0SGordon Ross ACPI_STATUS
22726f3cdf0SGordon Ross AcpiDbDisassembleMethod (
22826f3cdf0SGordon Ross     char                    *Name);
22926f3cdf0SGordon Ross 
23026f3cdf0SGordon Ross void
23126f3cdf0SGordon Ross AcpiDbDisassembleAml (
23226f3cdf0SGordon Ross     char                    *Statements,
23326f3cdf0SGordon Ross     ACPI_PARSE_OBJECT       *Op);
234db2bae30SDana Myers 
235db2bae30SDana Myers void
236db2bae30SDana Myers AcpiDbBatchExecute (
23757190917SDana Myers     char                    *CountArg);
2387c478bd9Sstevel@tonic-gate 
23926f3cdf0SGordon Ross 
24026f3cdf0SGordon Ross /*
24126f3cdf0SGordon Ross  * dbnames - namespace commands
24226f3cdf0SGordon Ross  */
24326f3cdf0SGordon Ross void
24426f3cdf0SGordon Ross AcpiDbSetScope (
24526f3cdf0SGordon Ross     char                    *Name);
24626f3cdf0SGordon Ross 
24726f3cdf0SGordon Ross void
24826f3cdf0SGordon Ross AcpiDbDumpNamespace (
24926f3cdf0SGordon Ross     char                    *StartArg,
25026f3cdf0SGordon Ross     char                    *DepthArg);
25126f3cdf0SGordon Ross 
25226f3cdf0SGordon Ross void
253*385cc6b4SJerry Jelinek AcpiDbDumpNamespacePaths (
254*385cc6b4SJerry Jelinek     void);
255*385cc6b4SJerry Jelinek 
256*385cc6b4SJerry Jelinek void
25726f3cdf0SGordon Ross AcpiDbDumpNamespaceByOwner (
25826f3cdf0SGordon Ross     char                    *OwnerArg,
25926f3cdf0SGordon Ross     char                    *DepthArg);
26026f3cdf0SGordon Ross 
26126f3cdf0SGordon Ross ACPI_STATUS
26226f3cdf0SGordon Ross AcpiDbFindNameInNamespace (
26326f3cdf0SGordon Ross     char                    *NameArg);
26426f3cdf0SGordon Ross 
26526f3cdf0SGordon Ross void
26626f3cdf0SGordon Ross AcpiDbCheckPredefinedNames (
26726f3cdf0SGordon Ross     void);
26826f3cdf0SGordon Ross 
26926f3cdf0SGordon Ross ACPI_STATUS
27026f3cdf0SGordon Ross AcpiDbDisplayObjects (
27126f3cdf0SGordon Ross     char                    *ObjTypeArg,
27226f3cdf0SGordon Ross     char                    *DisplayCountArg);
27326f3cdf0SGordon Ross 
27426f3cdf0SGordon Ross void
27526f3cdf0SGordon Ross AcpiDbCheckIntegrity (
27626f3cdf0SGordon Ross     void);
27726f3cdf0SGordon Ross 
27826f3cdf0SGordon Ross void
27926f3cdf0SGordon Ross AcpiDbFindReferences (
28026f3cdf0SGordon Ross     char                    *ObjectArg);
28126f3cdf0SGordon Ross 
28226f3cdf0SGordon Ross void
28326f3cdf0SGordon Ross AcpiDbGetBusInfo (
28426f3cdf0SGordon Ross     void);
28526f3cdf0SGordon Ross 
28626f3cdf0SGordon Ross 
2877c478bd9Sstevel@tonic-gate /*
2887c478bd9Sstevel@tonic-gate  * dbdisply - debug display commands
2897c478bd9Sstevel@tonic-gate  */
2907c478bd9Sstevel@tonic-gate void
2917c478bd9Sstevel@tonic-gate AcpiDbDisplayMethodInfo (
2927c478bd9Sstevel@tonic-gate     ACPI_PARSE_OBJECT       *Op);
2937c478bd9Sstevel@tonic-gate 
2947c478bd9Sstevel@tonic-gate void
2957c478bd9Sstevel@tonic-gate AcpiDbDecodeAndDisplayObject (
2967c478bd9Sstevel@tonic-gate     char                    *Target,
2977c478bd9Sstevel@tonic-gate     char                    *OutputType);
2987c478bd9Sstevel@tonic-gate 
299*385cc6b4SJerry Jelinek ACPI_DBR_DEPENDENT_RETURN_VOID (
3007c478bd9Sstevel@tonic-gate void
3017c478bd9Sstevel@tonic-gate AcpiDbDisplayResultObject (
3027c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc,
303*385cc6b4SJerry Jelinek     ACPI_WALK_STATE         *WalkState))
3047c478bd9Sstevel@tonic-gate 
3057c478bd9Sstevel@tonic-gate ACPI_STATUS
3067c478bd9Sstevel@tonic-gate AcpiDbDisplayAllMethods (
3077c478bd9Sstevel@tonic-gate     char                    *DisplayCountArg);
3087c478bd9Sstevel@tonic-gate 
3097c478bd9Sstevel@tonic-gate void
3107c478bd9Sstevel@tonic-gate AcpiDbDisplayArguments (
3117c478bd9Sstevel@tonic-gate     void);
3127c478bd9Sstevel@tonic-gate 
3137c478bd9Sstevel@tonic-gate void
3147c478bd9Sstevel@tonic-gate AcpiDbDisplayLocals (
3157c478bd9Sstevel@tonic-gate     void);
3167c478bd9Sstevel@tonic-gate 
3177c478bd9Sstevel@tonic-gate void
3187c478bd9Sstevel@tonic-gate AcpiDbDisplayResults (
3197c478bd9Sstevel@tonic-gate     void);
3207c478bd9Sstevel@tonic-gate 
3217c478bd9Sstevel@tonic-gate void
3227c478bd9Sstevel@tonic-gate AcpiDbDisplayCallingTree (
3237c478bd9Sstevel@tonic-gate     void);
3247c478bd9Sstevel@tonic-gate 
3257c478bd9Sstevel@tonic-gate void
3267c478bd9Sstevel@tonic-gate AcpiDbDisplayObjectType (
3277c478bd9Sstevel@tonic-gate     char                    *ObjectArg);
3287c478bd9Sstevel@tonic-gate 
329*385cc6b4SJerry Jelinek ACPI_DBR_DEPENDENT_RETURN_VOID (
3307c478bd9Sstevel@tonic-gate void
3317c478bd9Sstevel@tonic-gate AcpiDbDisplayArgumentObject (
3327c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc,
333*385cc6b4SJerry Jelinek     ACPI_WALK_STATE         *WalkState))
3347c478bd9Sstevel@tonic-gate 
3357c478bd9Sstevel@tonic-gate 
3367c478bd9Sstevel@tonic-gate /*
3377c478bd9Sstevel@tonic-gate  * dbexec - debugger control method execution
3387c478bd9Sstevel@tonic-gate  */
3397c478bd9Sstevel@tonic-gate void
3407c478bd9Sstevel@tonic-gate AcpiDbExecute (
3417c478bd9Sstevel@tonic-gate     char                    *Name,
3427c478bd9Sstevel@tonic-gate     char                    **Args,
34326f3cdf0SGordon Ross     ACPI_OBJECT_TYPE        *Types,
3447c478bd9Sstevel@tonic-gate     UINT32                  Flags);
3457c478bd9Sstevel@tonic-gate 
3467c478bd9Sstevel@tonic-gate void
3477c478bd9Sstevel@tonic-gate AcpiDbCreateExecutionThreads (
3487c478bd9Sstevel@tonic-gate     char                    *NumThreadsArg,
3497c478bd9Sstevel@tonic-gate     char                    *NumLoopsArg,
3507c478bd9Sstevel@tonic-gate     char                    *MethodNameArg);
3517c478bd9Sstevel@tonic-gate 
352*385cc6b4SJerry Jelinek void
353*385cc6b4SJerry Jelinek AcpiDbDeleteObjects (
354*385cc6b4SJerry Jelinek     UINT32                  Count,
355*385cc6b4SJerry Jelinek     ACPI_OBJECT             *Objects);
356*385cc6b4SJerry Jelinek 
357db2bae30SDana Myers #ifdef ACPI_DBG_TRACK_ALLOCATIONS
358db2bae30SDana Myers UINT32
359db2bae30SDana Myers AcpiDbGetCacheInfo (
360db2bae30SDana Myers     ACPI_MEMORY_LIST        *Cache);
361db2bae30SDana Myers #endif
362db2bae30SDana Myers 
3637c478bd9Sstevel@tonic-gate 
3647c478bd9Sstevel@tonic-gate /*
3657c478bd9Sstevel@tonic-gate  * dbfileio - Debugger file I/O commands
3667c478bd9Sstevel@tonic-gate  */
3677c478bd9Sstevel@tonic-gate ACPI_OBJECT_TYPE
3687c478bd9Sstevel@tonic-gate AcpiDbMatchArgument (
3697c478bd9Sstevel@tonic-gate     char                    *UserArgument,
370*385cc6b4SJerry Jelinek     ACPI_DB_ARGUMENT_INFO   *Arguments);
3717c478bd9Sstevel@tonic-gate 
3727c478bd9Sstevel@tonic-gate void
3737c478bd9Sstevel@tonic-gate AcpiDbCloseDebugFile (
3747c478bd9Sstevel@tonic-gate     void);
3757c478bd9Sstevel@tonic-gate 
3767c478bd9Sstevel@tonic-gate void
3777c478bd9Sstevel@tonic-gate AcpiDbOpenDebugFile (
3787c478bd9Sstevel@tonic-gate     char                    *Name);
3797c478bd9Sstevel@tonic-gate 
3807c478bd9Sstevel@tonic-gate ACPI_STATUS
3817c478bd9Sstevel@tonic-gate AcpiDbLoadAcpiTable (
3827c478bd9Sstevel@tonic-gate     char                    *Filename);
3837c478bd9Sstevel@tonic-gate 
3847c478bd9Sstevel@tonic-gate ACPI_STATUS
385*385cc6b4SJerry Jelinek AcpiDbLoadTables (
386*385cc6b4SJerry Jelinek     ACPI_NEW_TABLE_DESC     *ListHead);
3877c478bd9Sstevel@tonic-gate 
3887c478bd9Sstevel@tonic-gate 
3897c478bd9Sstevel@tonic-gate /*
3907c478bd9Sstevel@tonic-gate  * dbhistry - debugger HISTORY command
3917c478bd9Sstevel@tonic-gate  */
3927c478bd9Sstevel@tonic-gate void
3937c478bd9Sstevel@tonic-gate AcpiDbAddToHistory (
3947c478bd9Sstevel@tonic-gate     char                    *CommandLine);
3957c478bd9Sstevel@tonic-gate 
3967c478bd9Sstevel@tonic-gate void
3977c478bd9Sstevel@tonic-gate AcpiDbDisplayHistory (
3987c478bd9Sstevel@tonic-gate     void);
3997c478bd9Sstevel@tonic-gate 
4007c478bd9Sstevel@tonic-gate char *
4017c478bd9Sstevel@tonic-gate AcpiDbGetFromHistory (
4027c478bd9Sstevel@tonic-gate     char                    *CommandNumArg);
4037c478bd9Sstevel@tonic-gate 
404*385cc6b4SJerry Jelinek char *
405*385cc6b4SJerry Jelinek AcpiDbGetHistoryByIndex (
406*385cc6b4SJerry Jelinek     UINT32                  CommanddNum);
407*385cc6b4SJerry Jelinek 
4087c478bd9Sstevel@tonic-gate 
4097c478bd9Sstevel@tonic-gate /*
4107c478bd9Sstevel@tonic-gate  * dbinput - user front-end to the AML debugger
4117c478bd9Sstevel@tonic-gate  */
4127c478bd9Sstevel@tonic-gate ACPI_STATUS
4137c478bd9Sstevel@tonic-gate AcpiDbCommandDispatch (
4147c478bd9Sstevel@tonic-gate     char                    *InputBuffer,
4157c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
4167c478bd9Sstevel@tonic-gate     ACPI_PARSE_OBJECT       *Op);
4177c478bd9Sstevel@tonic-gate 
4187c478bd9Sstevel@tonic-gate void ACPI_SYSTEM_XFACE
4197c478bd9Sstevel@tonic-gate AcpiDbExecuteThread (
4207c478bd9Sstevel@tonic-gate     void                    *Context);
4217c478bd9Sstevel@tonic-gate 
4227c478bd9Sstevel@tonic-gate ACPI_STATUS
4237c478bd9Sstevel@tonic-gate AcpiDbUserCommands (
4247c478bd9Sstevel@tonic-gate     char                    Prompt,
4257c478bd9Sstevel@tonic-gate     ACPI_PARSE_OBJECT       *Op);
4267c478bd9Sstevel@tonic-gate 
42726f3cdf0SGordon Ross char *
42826f3cdf0SGordon Ross AcpiDbGetNextToken (
42926f3cdf0SGordon Ross     char                    *String,
43026f3cdf0SGordon Ross     char                    **Next,
43126f3cdf0SGordon Ross     ACPI_OBJECT_TYPE        *ReturnType);
43226f3cdf0SGordon Ross 
4337c478bd9Sstevel@tonic-gate 
4347c478bd9Sstevel@tonic-gate /*
435*385cc6b4SJerry Jelinek  * dbobject
436*385cc6b4SJerry Jelinek  */
437*385cc6b4SJerry Jelinek void
438*385cc6b4SJerry Jelinek AcpiDbDecodeInternalObject (
439*385cc6b4SJerry Jelinek     ACPI_OPERAND_OBJECT     *ObjDesc);
440*385cc6b4SJerry Jelinek 
441*385cc6b4SJerry Jelinek void
442*385cc6b4SJerry Jelinek AcpiDbDisplayInternalObject (
443*385cc6b4SJerry Jelinek     ACPI_OPERAND_OBJECT     *ObjDesc,
444*385cc6b4SJerry Jelinek     ACPI_WALK_STATE         *WalkState);
445*385cc6b4SJerry Jelinek 
446*385cc6b4SJerry Jelinek void
447*385cc6b4SJerry Jelinek AcpiDbDecodeArguments (
448*385cc6b4SJerry Jelinek     ACPI_WALK_STATE         *WalkState);
449*385cc6b4SJerry Jelinek 
450*385cc6b4SJerry Jelinek void
451*385cc6b4SJerry Jelinek AcpiDbDecodeLocals (
452*385cc6b4SJerry Jelinek     ACPI_WALK_STATE         *WalkState);
453*385cc6b4SJerry Jelinek 
454*385cc6b4SJerry Jelinek void
455*385cc6b4SJerry Jelinek AcpiDbDumpMethodInfo (
456*385cc6b4SJerry Jelinek     ACPI_STATUS             Status,
457*385cc6b4SJerry Jelinek     ACPI_WALK_STATE         *WalkState);
458*385cc6b4SJerry Jelinek 
459*385cc6b4SJerry Jelinek 
460*385cc6b4SJerry Jelinek /*
4617c478bd9Sstevel@tonic-gate  * dbstats - Generation and display of ACPI table statistics
4627c478bd9Sstevel@tonic-gate  */
4637c478bd9Sstevel@tonic-gate void
4647c478bd9Sstevel@tonic-gate AcpiDbGenerateStatistics (
4657c478bd9Sstevel@tonic-gate     ACPI_PARSE_OBJECT       *Root,
4667c478bd9Sstevel@tonic-gate     BOOLEAN                 IsMethod);
4677c478bd9Sstevel@tonic-gate 
4687c478bd9Sstevel@tonic-gate ACPI_STATUS
4697c478bd9Sstevel@tonic-gate AcpiDbDisplayStatistics (
4707c478bd9Sstevel@tonic-gate     char                    *TypeArg);
4717c478bd9Sstevel@tonic-gate 
4727c478bd9Sstevel@tonic-gate 
4737c478bd9Sstevel@tonic-gate /*
4747c478bd9Sstevel@tonic-gate  * dbutils - AML debugger utilities
4757c478bd9Sstevel@tonic-gate  */
4767c478bd9Sstevel@tonic-gate void
4777c478bd9Sstevel@tonic-gate AcpiDbSetOutputDestination (
4787c478bd9Sstevel@tonic-gate     UINT32                  Where);
4797c478bd9Sstevel@tonic-gate 
4807c478bd9Sstevel@tonic-gate void
481450d6964Smyers AcpiDbDumpExternalObject (
4827c478bd9Sstevel@tonic-gate     ACPI_OBJECT             *ObjDesc,
4837c478bd9Sstevel@tonic-gate     UINT32                  Level);
4847c478bd9Sstevel@tonic-gate 
4857c478bd9Sstevel@tonic-gate void
4867c478bd9Sstevel@tonic-gate AcpiDbPrepNamestring (
4877c478bd9Sstevel@tonic-gate     char                    *Name);
4887c478bd9Sstevel@tonic-gate 
4897c478bd9Sstevel@tonic-gate ACPI_NAMESPACE_NODE *
4907c478bd9Sstevel@tonic-gate AcpiDbLocalNsLookup (
4917c478bd9Sstevel@tonic-gate     char                    *Name);
4927c478bd9Sstevel@tonic-gate 
493db2bae30SDana Myers void
494*385cc6b4SJerry Jelinek AcpiDbUint32ToHexString (
495db2bae30SDana Myers     UINT32                  Value,
496db2bae30SDana Myers     char                    *Buffer);
497db2bae30SDana Myers 
4987c478bd9Sstevel@tonic-gate #endif  /* __ACDEBUG_H__ */
499