xref: /freebsd/sys/contrib/dev/acpica/include/acdebug.h (revision 70e6ab8f6ba244da61ab222a5829207da1201d8f)
1a9f12690SJung-uk Kim /******************************************************************************
2a9f12690SJung-uk Kim  *
3a9f12690SJung-uk Kim  * Name: acdebug.h - ACPI/AML debugger
4a9f12690SJung-uk Kim  *
5a9f12690SJung-uk Kim  *****************************************************************************/
6a9f12690SJung-uk Kim 
7d244b227SJung-uk Kim /*
81c0e1b6dSJung-uk Kim  * Copyright (C) 2000 - 2015, Intel Corp.
9a9f12690SJung-uk Kim  * All rights reserved.
10a9f12690SJung-uk Kim  *
11d244b227SJung-uk Kim  * Redistribution and use in source and binary forms, with or without
12d244b227SJung-uk Kim  * modification, are permitted provided that the following conditions
13d244b227SJung-uk Kim  * are met:
14d244b227SJung-uk Kim  * 1. Redistributions of source code must retain the above copyright
15d244b227SJung-uk Kim  *    notice, this list of conditions, and the following disclaimer,
16d244b227SJung-uk Kim  *    without modification.
17d244b227SJung-uk Kim  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
18d244b227SJung-uk Kim  *    substantially similar to the "NO WARRANTY" disclaimer below
19d244b227SJung-uk Kim  *    ("Disclaimer") and any redistribution must be conditioned upon
20d244b227SJung-uk Kim  *    including a substantially similar Disclaimer requirement for further
21d244b227SJung-uk Kim  *    binary redistribution.
22d244b227SJung-uk Kim  * 3. Neither the names of the above-listed copyright holders nor the names
23d244b227SJung-uk Kim  *    of any contributors may be used to endorse or promote products derived
24d244b227SJung-uk Kim  *    from this software without specific prior written permission.
25a9f12690SJung-uk Kim  *
26d244b227SJung-uk Kim  * Alternatively, this software may be distributed under the terms of the
27d244b227SJung-uk Kim  * GNU General Public License ("GPL") version 2 as published by the Free
28d244b227SJung-uk Kim  * Software Foundation.
29a9f12690SJung-uk Kim  *
30d244b227SJung-uk Kim  * NO WARRANTY
31d244b227SJung-uk Kim  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
32d244b227SJung-uk Kim  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
33d244b227SJung-uk Kim  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
34d244b227SJung-uk Kim  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
35d244b227SJung-uk Kim  * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
36d244b227SJung-uk Kim  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
37d244b227SJung-uk Kim  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
38d244b227SJung-uk Kim  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
39d244b227SJung-uk Kim  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
40d244b227SJung-uk Kim  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
41d244b227SJung-uk Kim  * POSSIBILITY OF SUCH DAMAGES.
42d244b227SJung-uk Kim  */
43a9f12690SJung-uk Kim 
44a9f12690SJung-uk Kim #ifndef __ACDEBUG_H__
45a9f12690SJung-uk Kim #define __ACDEBUG_H__
46a9f12690SJung-uk Kim 
47*70e6ab8fSJung-uk Kim /* The debugger is used in conjunction with the disassembler most of time */
48*70e6ab8fSJung-uk Kim 
49*70e6ab8fSJung-uk Kim #ifdef ACPI_DISASSEMBLER
50*70e6ab8fSJung-uk Kim #include <contrib/dev/acpica/include/acdisasm.h>
51*70e6ab8fSJung-uk Kim #endif
52*70e6ab8fSJung-uk Kim 
53a9f12690SJung-uk Kim 
545a77b11bSJung-uk Kim #define ACPI_DEBUG_BUFFER_SIZE  0x4000      /* 16K buffer for return objects */
55a9f12690SJung-uk Kim 
56042ff955SJung-uk Kim typedef struct acpi_db_command_info
57a9f12690SJung-uk Kim {
58a9f12690SJung-uk Kim     char                    *Name;          /* Command Name */
59a9f12690SJung-uk Kim     UINT8                   MinArgs;        /* Minimum arguments required */
60a9f12690SJung-uk Kim 
61042ff955SJung-uk Kim } ACPI_DB_COMMAND_INFO;
62a9f12690SJung-uk Kim 
63042ff955SJung-uk Kim typedef struct acpi_db_command_help
64042ff955SJung-uk Kim {
65042ff955SJung-uk Kim     UINT8                   LineCount;      /* Number of help lines */
66042ff955SJung-uk Kim     char                    *Invocation;    /* Command Invocation */
67042ff955SJung-uk Kim     char                    *Description;   /* Command Description */
68042ff955SJung-uk Kim 
69042ff955SJung-uk Kim } ACPI_DB_COMMAND_HELP;
70042ff955SJung-uk Kim 
71042ff955SJung-uk Kim typedef struct acpi_db_argument_info
72a9f12690SJung-uk Kim {
73a9f12690SJung-uk Kim     char                    *Name;          /* Argument Name */
74a9f12690SJung-uk Kim 
75042ff955SJung-uk Kim } ACPI_DB_ARGUMENT_INFO;
76a9f12690SJung-uk Kim 
77042ff955SJung-uk Kim typedef struct acpi_db_execute_walk
78f556842eSJung-uk Kim {
79f556842eSJung-uk Kim     UINT32                  Count;
80f556842eSJung-uk Kim     UINT32                  MaxCount;
81f556842eSJung-uk Kim 
82042ff955SJung-uk Kim } ACPI_DB_EXECUTE_WALK;
83f556842eSJung-uk Kim 
84a9f12690SJung-uk Kim 
85a9f12690SJung-uk Kim #define PARAM_LIST(pl)                  pl
86a9f12690SJung-uk Kim 
87a9f12690SJung-uk Kim #define EX_NO_SINGLE_STEP               1
88a9f12690SJung-uk Kim #define EX_SINGLE_STEP                  2
89a9f12690SJung-uk Kim 
90a9f12690SJung-uk Kim 
91a9f12690SJung-uk Kim /*
92a9f12690SJung-uk Kim  * dbxface - external debugger interfaces
93a9f12690SJung-uk Kim  */
94a9f12690SJung-uk Kim ACPI_STATUS
95a9f12690SJung-uk Kim AcpiDbSingleStep (
96a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState,
97a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
98a9f12690SJung-uk Kim     UINT32                  OpType);
99a9f12690SJung-uk Kim 
100a9f12690SJung-uk Kim 
101a9f12690SJung-uk Kim /*
102a9f12690SJung-uk Kim  * dbcmds - debug commands and output routines
103a9f12690SJung-uk Kim  */
1040b94ba42SJung-uk Kim ACPI_NAMESPACE_NODE *
1050b94ba42SJung-uk Kim AcpiDbConvertToNode (
1060b94ba42SJung-uk Kim     char                    *InString);
107a9f12690SJung-uk Kim 
108a9f12690SJung-uk Kim void
109a9f12690SJung-uk Kim AcpiDbDisplayTableInfo (
110a9f12690SJung-uk Kim     char                    *TableArg);
111a9f12690SJung-uk Kim 
112a9f12690SJung-uk Kim void
1133f0275a0SJung-uk Kim AcpiDbDisplayTemplate (
1143f0275a0SJung-uk Kim     char                    *BufferArg);
1153f0275a0SJung-uk Kim 
1163f0275a0SJung-uk Kim void
117a9f12690SJung-uk Kim AcpiDbUnloadAcpiTable (
118e8241eabSJung-uk Kim     char                    *Name);
119a9f12690SJung-uk Kim 
120a9f12690SJung-uk Kim void
121a9f12690SJung-uk Kim AcpiDbSendNotify (
122a9f12690SJung-uk Kim     char                    *Name,
123a9f12690SJung-uk Kim     UINT32                  Value);
124a9f12690SJung-uk Kim 
125a9f12690SJung-uk Kim void
126709fac06SJung-uk Kim AcpiDbDisplayInterfaces (
127709fac06SJung-uk Kim     char                    *ActionArg,
128709fac06SJung-uk Kim     char                    *InterfaceNameArg);
129709fac06SJung-uk Kim 
130a9f12690SJung-uk Kim ACPI_STATUS
131a9f12690SJung-uk Kim AcpiDbSleep (
132a9f12690SJung-uk Kim     char                    *ObjectArg);
133a9f12690SJung-uk Kim 
134a9f12690SJung-uk Kim void
135fe0f0bbbSJung-uk Kim AcpiDbTrace (
136fe0f0bbbSJung-uk Kim     char                    *EnableArg,
137fe0f0bbbSJung-uk Kim     char                    *MethodArg,
138fe0f0bbbSJung-uk Kim     char                    *OnceArg);
139fe0f0bbbSJung-uk Kim 
140fe0f0bbbSJung-uk Kim void
141a9f12690SJung-uk Kim AcpiDbDisplayLocks (
142a9f12690SJung-uk Kim     void);
143a9f12690SJung-uk Kim 
144a9f12690SJung-uk Kim void
145a9f12690SJung-uk Kim AcpiDbDisplayResources (
146a9f12690SJung-uk Kim     char                    *ObjectArg);
147a9f12690SJung-uk Kim 
148a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_VOID (
149a9f12690SJung-uk Kim void
150a9f12690SJung-uk Kim AcpiDbDisplayGpes (
151a159c266SJung-uk Kim     void))
152a9f12690SJung-uk Kim 
153a9f12690SJung-uk Kim void
1540b94ba42SJung-uk Kim AcpiDbDisplayHandlers (
155a9f12690SJung-uk Kim     void);
156a9f12690SJung-uk Kim 
157a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_VOID (
158a9f12690SJung-uk Kim void
159a9f12690SJung-uk Kim AcpiDbGenerateGpe (
160a9f12690SJung-uk Kim     char                    *GpeArg,
161a159c266SJung-uk Kim     char                    *BlockArg))
162a9f12690SJung-uk Kim 
16379c6d946SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_VOID (
16479c6d946SJung-uk Kim void
16579c6d946SJung-uk Kim AcpiDbGenerateSci (
16679c6d946SJung-uk Kim     void))
1670b94ba42SJung-uk Kim 
168313a0c13SJung-uk Kim void
169313a0c13SJung-uk Kim AcpiDbExecuteTest (
170313a0c13SJung-uk Kim     char                    *TypeArg);
171313a0c13SJung-uk Kim 
172313a0c13SJung-uk Kim 
1730b94ba42SJung-uk Kim /*
174efcc2a30SJung-uk Kim  * dbconvert - miscellaneous conversion routines
175efcc2a30SJung-uk Kim  */
176efcc2a30SJung-uk Kim ACPI_STATUS
177efcc2a30SJung-uk Kim AcpiDbHexCharToValue (
178efcc2a30SJung-uk Kim     int                     HexChar,
179efcc2a30SJung-uk Kim     UINT8                   *ReturnValue);
180efcc2a30SJung-uk Kim 
181efcc2a30SJung-uk Kim ACPI_STATUS
182efcc2a30SJung-uk Kim AcpiDbConvertToPackage (
183efcc2a30SJung-uk Kim     char                    *String,
184efcc2a30SJung-uk Kim     ACPI_OBJECT             *Object);
185efcc2a30SJung-uk Kim 
186efcc2a30SJung-uk Kim ACPI_STATUS
187efcc2a30SJung-uk Kim AcpiDbConvertToObject (
188efcc2a30SJung-uk Kim     ACPI_OBJECT_TYPE        Type,
189efcc2a30SJung-uk Kim     char                    *String,
190efcc2a30SJung-uk Kim     ACPI_OBJECT             *Object);
191efcc2a30SJung-uk Kim 
192efcc2a30SJung-uk Kim UINT8 *
193efcc2a30SJung-uk Kim AcpiDbEncodePldBuffer (
194efcc2a30SJung-uk Kim     ACPI_PLD_INFO           *PldInfo);
195efcc2a30SJung-uk Kim 
196efcc2a30SJung-uk Kim void
197efcc2a30SJung-uk Kim AcpiDbDumpPldBuffer (
198efcc2a30SJung-uk Kim     ACPI_OBJECT             *ObjDesc);
199efcc2a30SJung-uk Kim 
200efcc2a30SJung-uk Kim 
201efcc2a30SJung-uk Kim /*
2020b94ba42SJung-uk Kim  * dbmethod - control method commands
2030b94ba42SJung-uk Kim  */
204a9f12690SJung-uk Kim void
2050b94ba42SJung-uk Kim AcpiDbSetMethodBreakpoint (
2060b94ba42SJung-uk Kim     char                    *Location,
2070b94ba42SJung-uk Kim     ACPI_WALK_STATE         *WalkState,
2080b94ba42SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
2090b94ba42SJung-uk Kim 
2100b94ba42SJung-uk Kim void
2110b94ba42SJung-uk Kim AcpiDbSetMethodCallBreakpoint (
2120b94ba42SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
2130b94ba42SJung-uk Kim 
2140b94ba42SJung-uk Kim void
2150b94ba42SJung-uk Kim AcpiDbSetMethodData (
2160b94ba42SJung-uk Kim     char                    *TypeArg,
2170b94ba42SJung-uk Kim     char                    *IndexArg,
2180b94ba42SJung-uk Kim     char                    *ValueArg);
2190b94ba42SJung-uk Kim 
2200b94ba42SJung-uk Kim ACPI_STATUS
2210b94ba42SJung-uk Kim AcpiDbDisassembleMethod (
2220b94ba42SJung-uk Kim     char                    *Name);
2230b94ba42SJung-uk Kim 
2240b94ba42SJung-uk Kim void
2250b94ba42SJung-uk Kim AcpiDbDisassembleAml (
2260b94ba42SJung-uk Kim     char                    *Statements,
2270b94ba42SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
228a9f12690SJung-uk Kim 
229a9f12690SJung-uk Kim void
230a9f12690SJung-uk Kim AcpiDbBatchExecute (
231f556842eSJung-uk Kim     char                    *CountArg);
232a9f12690SJung-uk Kim 
2330b94ba42SJung-uk Kim 
2340b94ba42SJung-uk Kim /*
2350b94ba42SJung-uk Kim  * dbnames - namespace commands
2360b94ba42SJung-uk Kim  */
2370b94ba42SJung-uk Kim void
2380b94ba42SJung-uk Kim AcpiDbSetScope (
2390b94ba42SJung-uk Kim     char                    *Name);
2400b94ba42SJung-uk Kim 
2410b94ba42SJung-uk Kim void
2420b94ba42SJung-uk Kim AcpiDbDumpNamespace (
2430b94ba42SJung-uk Kim     char                    *StartArg,
2440b94ba42SJung-uk Kim     char                    *DepthArg);
2450b94ba42SJung-uk Kim 
2460b94ba42SJung-uk Kim void
24779c6d946SJung-uk Kim AcpiDbDumpNamespacePaths (
24879c6d946SJung-uk Kim     void);
24979c6d946SJung-uk Kim 
25079c6d946SJung-uk Kim void
2510b94ba42SJung-uk Kim AcpiDbDumpNamespaceByOwner (
2520b94ba42SJung-uk Kim     char                    *OwnerArg,
2530b94ba42SJung-uk Kim     char                    *DepthArg);
2540b94ba42SJung-uk Kim 
2550b94ba42SJung-uk Kim ACPI_STATUS
2560b94ba42SJung-uk Kim AcpiDbFindNameInNamespace (
2570b94ba42SJung-uk Kim     char                    *NameArg);
2580b94ba42SJung-uk Kim 
2590b94ba42SJung-uk Kim void
2600b94ba42SJung-uk Kim AcpiDbCheckPredefinedNames (
2610b94ba42SJung-uk Kim     void);
2620b94ba42SJung-uk Kim 
2630b94ba42SJung-uk Kim ACPI_STATUS
2640b94ba42SJung-uk Kim AcpiDbDisplayObjects (
2650b94ba42SJung-uk Kim     char                    *ObjTypeArg,
2660b94ba42SJung-uk Kim     char                    *DisplayCountArg);
2670b94ba42SJung-uk Kim 
2680b94ba42SJung-uk Kim void
2690b94ba42SJung-uk Kim AcpiDbCheckIntegrity (
2700b94ba42SJung-uk Kim     void);
2710b94ba42SJung-uk Kim 
2720b94ba42SJung-uk Kim void
2730b94ba42SJung-uk Kim AcpiDbFindReferences (
2740b94ba42SJung-uk Kim     char                    *ObjectArg);
2750b94ba42SJung-uk Kim 
2760b94ba42SJung-uk Kim void
2770b94ba42SJung-uk Kim AcpiDbGetBusInfo (
2780b94ba42SJung-uk Kim     void);
2790b94ba42SJung-uk Kim 
2800b94ba42SJung-uk Kim 
281a9f12690SJung-uk Kim /*
282a9f12690SJung-uk Kim  * dbdisply - debug display commands
283a9f12690SJung-uk Kim  */
284a9f12690SJung-uk Kim void
285a9f12690SJung-uk Kim AcpiDbDisplayMethodInfo (
286a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
287a9f12690SJung-uk Kim 
288a9f12690SJung-uk Kim void
289a9f12690SJung-uk Kim AcpiDbDecodeAndDisplayObject (
290a9f12690SJung-uk Kim     char                    *Target,
291a9f12690SJung-uk Kim     char                    *OutputType);
292a9f12690SJung-uk Kim 
293a9f12690SJung-uk Kim void
294a9f12690SJung-uk Kim AcpiDbDisplayResultObject (
295a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
296a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
297a9f12690SJung-uk Kim 
298a9f12690SJung-uk Kim ACPI_STATUS
299a9f12690SJung-uk Kim AcpiDbDisplayAllMethods (
300a9f12690SJung-uk Kim     char                    *DisplayCountArg);
301a9f12690SJung-uk Kim 
302a9f12690SJung-uk Kim void
303a9f12690SJung-uk Kim AcpiDbDisplayArguments (
304a9f12690SJung-uk Kim     void);
305a9f12690SJung-uk Kim 
306a9f12690SJung-uk Kim void
307a9f12690SJung-uk Kim AcpiDbDisplayLocals (
308a9f12690SJung-uk Kim     void);
309a9f12690SJung-uk Kim 
310a9f12690SJung-uk Kim void
311a9f12690SJung-uk Kim AcpiDbDisplayResults (
312a9f12690SJung-uk Kim     void);
313a9f12690SJung-uk Kim 
314a9f12690SJung-uk Kim void
315a9f12690SJung-uk Kim AcpiDbDisplayCallingTree (
316a9f12690SJung-uk Kim     void);
317a9f12690SJung-uk Kim 
318a9f12690SJung-uk Kim void
319a9f12690SJung-uk Kim AcpiDbDisplayObjectType (
320a9f12690SJung-uk Kim     char                    *ObjectArg);
321a9f12690SJung-uk Kim 
322a9f12690SJung-uk Kim void
323a9f12690SJung-uk Kim AcpiDbDisplayArgumentObject (
324a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
325a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
326a9f12690SJung-uk Kim 
327d6dd1baeSJung-uk Kim 
328a9f12690SJung-uk Kim /*
329a9f12690SJung-uk Kim  * dbexec - debugger control method execution
330a9f12690SJung-uk Kim  */
331a9f12690SJung-uk Kim void
332a9f12690SJung-uk Kim AcpiDbExecute (
333a9f12690SJung-uk Kim     char                    *Name,
334a9f12690SJung-uk Kim     char                    **Args,
33542e58c03SJung-uk Kim     ACPI_OBJECT_TYPE        *Types,
336a9f12690SJung-uk Kim     UINT32                  Flags);
337a9f12690SJung-uk Kim 
338a9f12690SJung-uk Kim void
339a9f12690SJung-uk Kim AcpiDbCreateExecutionThreads (
340a9f12690SJung-uk Kim     char                    *NumThreadsArg,
341a9f12690SJung-uk Kim     char                    *NumLoopsArg,
342a9f12690SJung-uk Kim     char                    *MethodNameArg);
343a9f12690SJung-uk Kim 
344efcc2a30SJung-uk Kim void
345efcc2a30SJung-uk Kim AcpiDbDeleteObjects (
346efcc2a30SJung-uk Kim     UINT32                  Count,
347efcc2a30SJung-uk Kim     ACPI_OBJECT             *Objects);
348efcc2a30SJung-uk Kim 
349a9f12690SJung-uk Kim #ifdef ACPI_DBG_TRACK_ALLOCATIONS
350a9f12690SJung-uk Kim UINT32
351a9f12690SJung-uk Kim AcpiDbGetCacheInfo (
352a9f12690SJung-uk Kim     ACPI_MEMORY_LIST        *Cache);
353a9f12690SJung-uk Kim #endif
354a9f12690SJung-uk Kim 
355a9f12690SJung-uk Kim 
356a9f12690SJung-uk Kim /*
357a9f12690SJung-uk Kim  * dbfileio - Debugger file I/O commands
358a9f12690SJung-uk Kim  */
359a9f12690SJung-uk Kim ACPI_OBJECT_TYPE
360a9f12690SJung-uk Kim AcpiDbMatchArgument (
361a9f12690SJung-uk Kim     char                    *UserArgument,
362042ff955SJung-uk Kim     ACPI_DB_ARGUMENT_INFO   *Arguments);
363a9f12690SJung-uk Kim 
364a9f12690SJung-uk Kim void
365a9f12690SJung-uk Kim AcpiDbCloseDebugFile (
366a9f12690SJung-uk Kim     void);
367a9f12690SJung-uk Kim 
368a9f12690SJung-uk Kim void
369a9f12690SJung-uk Kim AcpiDbOpenDebugFile (
370a9f12690SJung-uk Kim     char                    *Name);
371a9f12690SJung-uk Kim 
372a9f12690SJung-uk Kim ACPI_STATUS
373a9f12690SJung-uk Kim AcpiDbLoadAcpiTable (
374a9f12690SJung-uk Kim     char                    *Filename);
375a9f12690SJung-uk Kim 
376a9f12690SJung-uk Kim ACPI_STATUS
377a9f12690SJung-uk Kim AcpiDbGetTableFromFile (
378a9f12690SJung-uk Kim     char                    *Filename,
379a371a5fdSJung-uk Kim     ACPI_TABLE_HEADER       **Table,
380a371a5fdSJung-uk Kim     BOOLEAN                 MustBeAmlTable);
381a9f12690SJung-uk Kim 
382a9f12690SJung-uk Kim 
383a9f12690SJung-uk Kim /*
384a9f12690SJung-uk Kim  * dbhistry - debugger HISTORY command
385a9f12690SJung-uk Kim  */
386a9f12690SJung-uk Kim void
387a9f12690SJung-uk Kim AcpiDbAddToHistory (
388a9f12690SJung-uk Kim     char                    *CommandLine);
389a9f12690SJung-uk Kim 
390a9f12690SJung-uk Kim void
391a9f12690SJung-uk Kim AcpiDbDisplayHistory (
392a9f12690SJung-uk Kim     void);
393a9f12690SJung-uk Kim 
394a9f12690SJung-uk Kim char *
395a9f12690SJung-uk Kim AcpiDbGetFromHistory (
396a9f12690SJung-uk Kim     char                    *CommandNumArg);
397a9f12690SJung-uk Kim 
398313a0c13SJung-uk Kim char *
399313a0c13SJung-uk Kim AcpiDbGetHistoryByIndex (
400313a0c13SJung-uk Kim     UINT32                  CommanddNum);
401313a0c13SJung-uk Kim 
402a9f12690SJung-uk Kim 
403a9f12690SJung-uk Kim /*
404a9f12690SJung-uk Kim  * dbinput - user front-end to the AML debugger
405a9f12690SJung-uk Kim  */
406a9f12690SJung-uk Kim ACPI_STATUS
407a9f12690SJung-uk Kim AcpiDbCommandDispatch (
408a9f12690SJung-uk Kim     char                    *InputBuffer,
409a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState,
410a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
411a9f12690SJung-uk Kim 
412a9f12690SJung-uk Kim void ACPI_SYSTEM_XFACE
413a9f12690SJung-uk Kim AcpiDbExecuteThread (
414a9f12690SJung-uk Kim     void                    *Context);
415a9f12690SJung-uk Kim 
416a9f12690SJung-uk Kim ACPI_STATUS
417a9f12690SJung-uk Kim AcpiDbUserCommands (
418a9f12690SJung-uk Kim     char                    Prompt,
419a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
420a9f12690SJung-uk Kim 
42142e58c03SJung-uk Kim char *
42242e58c03SJung-uk Kim AcpiDbGetNextToken (
42342e58c03SJung-uk Kim     char                    *String,
42442e58c03SJung-uk Kim     char                    **Next,
42542e58c03SJung-uk Kim     ACPI_OBJECT_TYPE        *ReturnType);
42642e58c03SJung-uk Kim 
427a9f12690SJung-uk Kim 
428a9f12690SJung-uk Kim /*
429fe0f0bbbSJung-uk Kim  * dbobject
430fe0f0bbbSJung-uk Kim  */
431fe0f0bbbSJung-uk Kim void
432fe0f0bbbSJung-uk Kim AcpiDbDecodeInternalObject (
433fe0f0bbbSJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc);
434fe0f0bbbSJung-uk Kim 
435fe0f0bbbSJung-uk Kim void
436fe0f0bbbSJung-uk Kim AcpiDbDisplayInternalObject (
437fe0f0bbbSJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
438fe0f0bbbSJung-uk Kim     ACPI_WALK_STATE         *WalkState);
439fe0f0bbbSJung-uk Kim 
440fe0f0bbbSJung-uk Kim void
441fe0f0bbbSJung-uk Kim AcpiDbDecodeArguments (
442fe0f0bbbSJung-uk Kim     ACPI_WALK_STATE         *WalkState);
443fe0f0bbbSJung-uk Kim 
444fe0f0bbbSJung-uk Kim void
445fe0f0bbbSJung-uk Kim AcpiDbDecodeLocals (
446fe0f0bbbSJung-uk Kim     ACPI_WALK_STATE         *WalkState);
447fe0f0bbbSJung-uk Kim 
448fe0f0bbbSJung-uk Kim void
449fe0f0bbbSJung-uk Kim AcpiDbDumpMethodInfo (
450fe0f0bbbSJung-uk Kim     ACPI_STATUS             Status,
451fe0f0bbbSJung-uk Kim     ACPI_WALK_STATE         *WalkState);
452fe0f0bbbSJung-uk Kim 
453fe0f0bbbSJung-uk Kim 
454fe0f0bbbSJung-uk Kim /*
455a9f12690SJung-uk Kim  * dbstats - Generation and display of ACPI table statistics
456a9f12690SJung-uk Kim  */
457a9f12690SJung-uk Kim void
458a9f12690SJung-uk Kim AcpiDbGenerateStatistics (
459a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Root,
460a9f12690SJung-uk Kim     BOOLEAN                 IsMethod);
461a9f12690SJung-uk Kim 
462a9f12690SJung-uk Kim ACPI_STATUS
463a9f12690SJung-uk Kim AcpiDbDisplayStatistics (
464a9f12690SJung-uk Kim     char                    *TypeArg);
465a9f12690SJung-uk Kim 
466a9f12690SJung-uk Kim 
467a9f12690SJung-uk Kim /*
468a9f12690SJung-uk Kim  * dbutils - AML debugger utilities
469a9f12690SJung-uk Kim  */
470a9f12690SJung-uk Kim void
471a9f12690SJung-uk Kim AcpiDbSetOutputDestination (
472a9f12690SJung-uk Kim     UINT32                  Where);
473a9f12690SJung-uk Kim 
474a9f12690SJung-uk Kim void
475a9f12690SJung-uk Kim AcpiDbDumpExternalObject (
476a9f12690SJung-uk Kim     ACPI_OBJECT             *ObjDesc,
477a9f12690SJung-uk Kim     UINT32                  Level);
478a9f12690SJung-uk Kim 
479a9f12690SJung-uk Kim void
480a9f12690SJung-uk Kim AcpiDbPrepNamestring (
481a9f12690SJung-uk Kim     char                    *Name);
482a9f12690SJung-uk Kim 
483a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *
484a9f12690SJung-uk Kim AcpiDbLocalNsLookup (
485a9f12690SJung-uk Kim     char                    *Name);
486a9f12690SJung-uk Kim 
487a9f12690SJung-uk Kim void
488f38b0f21SJung-uk Kim AcpiDbUint32ToHexString (
489a9f12690SJung-uk Kim     UINT32                  Value,
490a9f12690SJung-uk Kim     char                    *Buffer);
491a9f12690SJung-uk Kim 
492a9f12690SJung-uk Kim #endif  /* __ACDEBUG_H__ */
493