xref: /freebsd/sys/contrib/dev/acpica/include/acdebug.h (revision 79c6d946797dd4db2f2a943f664a4e976f6c942b)
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 /*
8efcc2a30SJung-uk Kim  * Copyright (C) 2000 - 2013, 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 
47a9f12690SJung-uk Kim 
485a77b11bSJung-uk Kim #define ACPI_DEBUG_BUFFER_SIZE  0x4000      /* 16K buffer for return objects */
49a9f12690SJung-uk Kim 
50042ff955SJung-uk Kim typedef struct acpi_db_command_info
51a9f12690SJung-uk Kim {
52a9f12690SJung-uk Kim     char                    *Name;          /* Command Name */
53a9f12690SJung-uk Kim     UINT8                   MinArgs;        /* Minimum arguments required */
54a9f12690SJung-uk Kim 
55042ff955SJung-uk Kim } ACPI_DB_COMMAND_INFO;
56a9f12690SJung-uk Kim 
57042ff955SJung-uk Kim typedef struct acpi_db_command_help
58042ff955SJung-uk Kim {
59042ff955SJung-uk Kim     UINT8                   LineCount;      /* Number of help lines */
60042ff955SJung-uk Kim     char                    *Invocation;    /* Command Invocation */
61042ff955SJung-uk Kim     char                    *Description;   /* Command Description */
62042ff955SJung-uk Kim 
63042ff955SJung-uk Kim } ACPI_DB_COMMAND_HELP;
64042ff955SJung-uk Kim 
65042ff955SJung-uk Kim typedef struct acpi_db_argument_info
66a9f12690SJung-uk Kim {
67a9f12690SJung-uk Kim     char                    *Name;          /* Argument Name */
68a9f12690SJung-uk Kim 
69042ff955SJung-uk Kim } ACPI_DB_ARGUMENT_INFO;
70a9f12690SJung-uk Kim 
71042ff955SJung-uk Kim typedef struct acpi_db_execute_walk
72f556842eSJung-uk Kim {
73f556842eSJung-uk Kim     UINT32                  Count;
74f556842eSJung-uk Kim     UINT32                  MaxCount;
75f556842eSJung-uk Kim 
76042ff955SJung-uk Kim } ACPI_DB_EXECUTE_WALK;
77f556842eSJung-uk Kim 
78a9f12690SJung-uk Kim 
79a9f12690SJung-uk Kim #define PARAM_LIST(pl)                  pl
80a9f12690SJung-uk Kim #define DBTEST_OUTPUT_LEVEL(lvl)        if (AcpiGbl_DbOpt_verbose)
81a9f12690SJung-uk Kim #define VERBOSE_PRINT(fp)               DBTEST_OUTPUT_LEVEL(lvl) {\
82a9f12690SJung-uk Kim                                             AcpiOsPrintf PARAM_LIST(fp);}
83a9f12690SJung-uk Kim 
84a9f12690SJung-uk Kim #define EX_NO_SINGLE_STEP               1
85a9f12690SJung-uk Kim #define EX_SINGLE_STEP                  2
86a9f12690SJung-uk Kim 
87a9f12690SJung-uk Kim 
88a9f12690SJung-uk Kim /*
89a9f12690SJung-uk Kim  * dbxface - external debugger interfaces
90a9f12690SJung-uk Kim  */
91a9f12690SJung-uk Kim ACPI_STATUS
92a9f12690SJung-uk Kim AcpiDbInitialize (
93a9f12690SJung-uk Kim     void);
94a9f12690SJung-uk Kim 
95a9f12690SJung-uk Kim void
96a9f12690SJung-uk Kim AcpiDbTerminate (
97a9f12690SJung-uk Kim     void);
98a9f12690SJung-uk Kim 
99a9f12690SJung-uk Kim ACPI_STATUS
100a9f12690SJung-uk Kim AcpiDbSingleStep (
101a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState,
102a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
103a9f12690SJung-uk Kim     UINT32                  OpType);
104a9f12690SJung-uk Kim 
105a9f12690SJung-uk Kim 
106a9f12690SJung-uk Kim /*
107a9f12690SJung-uk Kim  * dbcmds - debug commands and output routines
108a9f12690SJung-uk Kim  */
1090b94ba42SJung-uk Kim ACPI_NAMESPACE_NODE *
1100b94ba42SJung-uk Kim AcpiDbConvertToNode (
1110b94ba42SJung-uk Kim     char                    *InString);
112a9f12690SJung-uk Kim 
113a9f12690SJung-uk Kim void
114a9f12690SJung-uk Kim AcpiDbDisplayTableInfo (
115a9f12690SJung-uk Kim     char                    *TableArg);
116a9f12690SJung-uk Kim 
117a9f12690SJung-uk Kim void
1183f0275a0SJung-uk Kim AcpiDbDisplayTemplate (
1193f0275a0SJung-uk Kim     char                    *BufferArg);
1203f0275a0SJung-uk Kim 
1213f0275a0SJung-uk Kim void
122a9f12690SJung-uk Kim AcpiDbUnloadAcpiTable (
123e8241eabSJung-uk Kim     char                    *Name);
124a9f12690SJung-uk Kim 
125a9f12690SJung-uk Kim void
126a9f12690SJung-uk Kim AcpiDbSendNotify (
127a9f12690SJung-uk Kim     char                    *Name,
128a9f12690SJung-uk Kim     UINT32                  Value);
129a9f12690SJung-uk Kim 
130a9f12690SJung-uk Kim void
131709fac06SJung-uk Kim AcpiDbDisplayInterfaces (
132709fac06SJung-uk Kim     char                    *ActionArg,
133709fac06SJung-uk Kim     char                    *InterfaceNameArg);
134709fac06SJung-uk Kim 
135a9f12690SJung-uk Kim ACPI_STATUS
136a9f12690SJung-uk Kim AcpiDbSleep (
137a9f12690SJung-uk Kim     char                    *ObjectArg);
138a9f12690SJung-uk Kim 
139a9f12690SJung-uk Kim void
140a9f12690SJung-uk Kim AcpiDbDisplayLocks (
141a9f12690SJung-uk Kim     void);
142a9f12690SJung-uk Kim 
143a9f12690SJung-uk Kim void
144a9f12690SJung-uk Kim AcpiDbDisplayResources (
145a9f12690SJung-uk Kim     char                    *ObjectArg);
146a9f12690SJung-uk Kim 
147a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_VOID (
148a9f12690SJung-uk Kim void
149a9f12690SJung-uk Kim AcpiDbDisplayGpes (
150a159c266SJung-uk Kim     void))
151a9f12690SJung-uk Kim 
152a9f12690SJung-uk Kim void
1530b94ba42SJung-uk Kim AcpiDbDisplayHandlers (
154a9f12690SJung-uk Kim     void);
155a9f12690SJung-uk Kim 
156a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_VOID (
157a9f12690SJung-uk Kim void
158a9f12690SJung-uk Kim AcpiDbGenerateGpe (
159a9f12690SJung-uk Kim     char                    *GpeArg,
160a159c266SJung-uk Kim     char                    *BlockArg))
161a9f12690SJung-uk Kim 
162*79c6d946SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_VOID (
163*79c6d946SJung-uk Kim void
164*79c6d946SJung-uk Kim AcpiDbGenerateSci (
165*79c6d946SJung-uk Kim     void))
1660b94ba42SJung-uk Kim 
1670b94ba42SJung-uk Kim /*
168efcc2a30SJung-uk Kim  * dbconvert - miscellaneous conversion routines
169efcc2a30SJung-uk Kim  */
170efcc2a30SJung-uk Kim ACPI_STATUS
171efcc2a30SJung-uk Kim AcpiDbHexCharToValue (
172efcc2a30SJung-uk Kim     int                     HexChar,
173efcc2a30SJung-uk Kim     UINT8                   *ReturnValue);
174efcc2a30SJung-uk Kim 
175efcc2a30SJung-uk Kim ACPI_STATUS
176efcc2a30SJung-uk Kim AcpiDbConvertToPackage (
177efcc2a30SJung-uk Kim     char                    *String,
178efcc2a30SJung-uk Kim     ACPI_OBJECT             *Object);
179efcc2a30SJung-uk Kim 
180efcc2a30SJung-uk Kim ACPI_STATUS
181efcc2a30SJung-uk Kim AcpiDbConvertToObject (
182efcc2a30SJung-uk Kim     ACPI_OBJECT_TYPE        Type,
183efcc2a30SJung-uk Kim     char                    *String,
184efcc2a30SJung-uk Kim     ACPI_OBJECT             *Object);
185efcc2a30SJung-uk Kim 
186efcc2a30SJung-uk Kim UINT8 *
187efcc2a30SJung-uk Kim AcpiDbEncodePldBuffer (
188efcc2a30SJung-uk Kim     ACPI_PLD_INFO           *PldInfo);
189efcc2a30SJung-uk Kim 
190efcc2a30SJung-uk Kim void
191efcc2a30SJung-uk Kim AcpiDbDumpPldBuffer (
192efcc2a30SJung-uk Kim     ACPI_OBJECT             *ObjDesc);
193efcc2a30SJung-uk Kim 
194efcc2a30SJung-uk Kim 
195efcc2a30SJung-uk Kim /*
1960b94ba42SJung-uk Kim  * dbmethod - control method commands
1970b94ba42SJung-uk Kim  */
198a9f12690SJung-uk Kim void
1990b94ba42SJung-uk Kim AcpiDbSetMethodBreakpoint (
2000b94ba42SJung-uk Kim     char                    *Location,
2010b94ba42SJung-uk Kim     ACPI_WALK_STATE         *WalkState,
2020b94ba42SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
2030b94ba42SJung-uk Kim 
2040b94ba42SJung-uk Kim void
2050b94ba42SJung-uk Kim AcpiDbSetMethodCallBreakpoint (
2060b94ba42SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
2070b94ba42SJung-uk Kim 
2080b94ba42SJung-uk Kim void
2090b94ba42SJung-uk Kim AcpiDbSetMethodData (
2100b94ba42SJung-uk Kim     char                    *TypeArg,
2110b94ba42SJung-uk Kim     char                    *IndexArg,
2120b94ba42SJung-uk Kim     char                    *ValueArg);
2130b94ba42SJung-uk Kim 
2140b94ba42SJung-uk Kim ACPI_STATUS
2150b94ba42SJung-uk Kim AcpiDbDisassembleMethod (
2160b94ba42SJung-uk Kim     char                    *Name);
2170b94ba42SJung-uk Kim 
2180b94ba42SJung-uk Kim void
2190b94ba42SJung-uk Kim AcpiDbDisassembleAml (
2200b94ba42SJung-uk Kim     char                    *Statements,
2210b94ba42SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
222a9f12690SJung-uk Kim 
223a9f12690SJung-uk Kim void
224a9f12690SJung-uk Kim AcpiDbBatchExecute (
225f556842eSJung-uk Kim     char                    *CountArg);
226a9f12690SJung-uk Kim 
2270b94ba42SJung-uk Kim 
2280b94ba42SJung-uk Kim /*
2290b94ba42SJung-uk Kim  * dbnames - namespace commands
2300b94ba42SJung-uk Kim  */
2310b94ba42SJung-uk Kim void
2320b94ba42SJung-uk Kim AcpiDbSetScope (
2330b94ba42SJung-uk Kim     char                    *Name);
2340b94ba42SJung-uk Kim 
2350b94ba42SJung-uk Kim void
2360b94ba42SJung-uk Kim AcpiDbDumpNamespace (
2370b94ba42SJung-uk Kim     char                    *StartArg,
2380b94ba42SJung-uk Kim     char                    *DepthArg);
2390b94ba42SJung-uk Kim 
2400b94ba42SJung-uk Kim void
241*79c6d946SJung-uk Kim AcpiDbDumpNamespacePaths (
242*79c6d946SJung-uk Kim     void);
243*79c6d946SJung-uk Kim 
244*79c6d946SJung-uk Kim void
2450b94ba42SJung-uk Kim AcpiDbDumpNamespaceByOwner (
2460b94ba42SJung-uk Kim     char                    *OwnerArg,
2470b94ba42SJung-uk Kim     char                    *DepthArg);
2480b94ba42SJung-uk Kim 
2490b94ba42SJung-uk Kim ACPI_STATUS
2500b94ba42SJung-uk Kim AcpiDbFindNameInNamespace (
2510b94ba42SJung-uk Kim     char                    *NameArg);
2520b94ba42SJung-uk Kim 
2530b94ba42SJung-uk Kim void
2540b94ba42SJung-uk Kim AcpiDbCheckPredefinedNames (
2550b94ba42SJung-uk Kim     void);
2560b94ba42SJung-uk Kim 
2570b94ba42SJung-uk Kim ACPI_STATUS
2580b94ba42SJung-uk Kim AcpiDbDisplayObjects (
2590b94ba42SJung-uk Kim     char                    *ObjTypeArg,
2600b94ba42SJung-uk Kim     char                    *DisplayCountArg);
2610b94ba42SJung-uk Kim 
2620b94ba42SJung-uk Kim void
2630b94ba42SJung-uk Kim AcpiDbCheckIntegrity (
2640b94ba42SJung-uk Kim     void);
2650b94ba42SJung-uk Kim 
2660b94ba42SJung-uk Kim void
2670b94ba42SJung-uk Kim AcpiDbFindReferences (
2680b94ba42SJung-uk Kim     char                    *ObjectArg);
2690b94ba42SJung-uk Kim 
2700b94ba42SJung-uk Kim void
2710b94ba42SJung-uk Kim AcpiDbGetBusInfo (
2720b94ba42SJung-uk Kim     void);
2730b94ba42SJung-uk Kim 
2740b94ba42SJung-uk Kim 
275a9f12690SJung-uk Kim /*
276a9f12690SJung-uk Kim  * dbdisply - debug display commands
277a9f12690SJung-uk Kim  */
278a9f12690SJung-uk Kim void
279a9f12690SJung-uk Kim AcpiDbDisplayMethodInfo (
280a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
281a9f12690SJung-uk Kim 
282a9f12690SJung-uk Kim void
283a9f12690SJung-uk Kim AcpiDbDecodeAndDisplayObject (
284a9f12690SJung-uk Kim     char                    *Target,
285a9f12690SJung-uk Kim     char                    *OutputType);
286a9f12690SJung-uk Kim 
287a9f12690SJung-uk Kim void
288a9f12690SJung-uk Kim AcpiDbDisplayResultObject (
289a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
290a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
291a9f12690SJung-uk Kim 
292a9f12690SJung-uk Kim ACPI_STATUS
293a9f12690SJung-uk Kim AcpiDbDisplayAllMethods (
294a9f12690SJung-uk Kim     char                    *DisplayCountArg);
295a9f12690SJung-uk Kim 
296a9f12690SJung-uk Kim void
297a9f12690SJung-uk Kim AcpiDbDisplayArguments (
298a9f12690SJung-uk Kim     void);
299a9f12690SJung-uk Kim 
300a9f12690SJung-uk Kim void
301a9f12690SJung-uk Kim AcpiDbDisplayLocals (
302a9f12690SJung-uk Kim     void);
303a9f12690SJung-uk Kim 
304a9f12690SJung-uk Kim void
305a9f12690SJung-uk Kim AcpiDbDisplayResults (
306a9f12690SJung-uk Kim     void);
307a9f12690SJung-uk Kim 
308a9f12690SJung-uk Kim void
309a9f12690SJung-uk Kim AcpiDbDisplayCallingTree (
310a9f12690SJung-uk Kim     void);
311a9f12690SJung-uk Kim 
312a9f12690SJung-uk Kim void
313a9f12690SJung-uk Kim AcpiDbDisplayObjectType (
314a9f12690SJung-uk Kim     char                    *ObjectArg);
315a9f12690SJung-uk Kim 
316a9f12690SJung-uk Kim void
317a9f12690SJung-uk Kim AcpiDbDisplayArgumentObject (
318a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
319a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
320a9f12690SJung-uk Kim 
321d6dd1baeSJung-uk Kim 
322a9f12690SJung-uk Kim /*
323a9f12690SJung-uk Kim  * dbexec - debugger control method execution
324a9f12690SJung-uk Kim  */
325a9f12690SJung-uk Kim void
326a9f12690SJung-uk Kim AcpiDbExecute (
327a9f12690SJung-uk Kim     char                    *Name,
328a9f12690SJung-uk Kim     char                    **Args,
32942e58c03SJung-uk Kim     ACPI_OBJECT_TYPE        *Types,
330a9f12690SJung-uk Kim     UINT32                  Flags);
331a9f12690SJung-uk Kim 
332a9f12690SJung-uk Kim void
333a9f12690SJung-uk Kim AcpiDbCreateExecutionThreads (
334a9f12690SJung-uk Kim     char                    *NumThreadsArg,
335a9f12690SJung-uk Kim     char                    *NumLoopsArg,
336a9f12690SJung-uk Kim     char                    *MethodNameArg);
337a9f12690SJung-uk Kim 
338efcc2a30SJung-uk Kim void
339efcc2a30SJung-uk Kim AcpiDbDeleteObjects (
340efcc2a30SJung-uk Kim     UINT32                  Count,
341efcc2a30SJung-uk Kim     ACPI_OBJECT             *Objects);
342efcc2a30SJung-uk Kim 
343a9f12690SJung-uk Kim #ifdef ACPI_DBG_TRACK_ALLOCATIONS
344a9f12690SJung-uk Kim UINT32
345a9f12690SJung-uk Kim AcpiDbGetCacheInfo (
346a9f12690SJung-uk Kim     ACPI_MEMORY_LIST        *Cache);
347a9f12690SJung-uk Kim #endif
348a9f12690SJung-uk Kim 
349a9f12690SJung-uk Kim 
350a9f12690SJung-uk Kim /*
351a9f12690SJung-uk Kim  * dbfileio - Debugger file I/O commands
352a9f12690SJung-uk Kim  */
353a9f12690SJung-uk Kim ACPI_OBJECT_TYPE
354a9f12690SJung-uk Kim AcpiDbMatchArgument (
355a9f12690SJung-uk Kim     char                    *UserArgument,
356042ff955SJung-uk Kim     ACPI_DB_ARGUMENT_INFO   *Arguments);
357a9f12690SJung-uk Kim 
358a9f12690SJung-uk Kim void
359a9f12690SJung-uk Kim AcpiDbCloseDebugFile (
360a9f12690SJung-uk Kim     void);
361a9f12690SJung-uk Kim 
362a9f12690SJung-uk Kim void
363a9f12690SJung-uk Kim AcpiDbOpenDebugFile (
364a9f12690SJung-uk Kim     char                    *Name);
365a9f12690SJung-uk Kim 
366a9f12690SJung-uk Kim ACPI_STATUS
367a9f12690SJung-uk Kim AcpiDbLoadAcpiTable (
368a9f12690SJung-uk Kim     char                    *Filename);
369a9f12690SJung-uk Kim 
370a9f12690SJung-uk Kim ACPI_STATUS
371a9f12690SJung-uk Kim AcpiDbGetTableFromFile (
372a9f12690SJung-uk Kim     char                    *Filename,
373a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       **Table);
374a9f12690SJung-uk Kim 
375a9f12690SJung-uk Kim ACPI_STATUS
376a9f12690SJung-uk Kim AcpiDbReadTableFromFile (
377a9f12690SJung-uk Kim     char                    *Filename,
378a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       **Table);
379a9f12690SJung-uk Kim 
380a9f12690SJung-uk Kim 
381a9f12690SJung-uk Kim /*
382a9f12690SJung-uk Kim  * dbhistry - debugger HISTORY command
383a9f12690SJung-uk Kim  */
384a9f12690SJung-uk Kim void
385a9f12690SJung-uk Kim AcpiDbAddToHistory (
386a9f12690SJung-uk Kim     char                    *CommandLine);
387a9f12690SJung-uk Kim 
388a9f12690SJung-uk Kim void
389a9f12690SJung-uk Kim AcpiDbDisplayHistory (
390a9f12690SJung-uk Kim     void);
391a9f12690SJung-uk Kim 
392a9f12690SJung-uk Kim char *
393a9f12690SJung-uk Kim AcpiDbGetFromHistory (
394a9f12690SJung-uk Kim     char                    *CommandNumArg);
395a9f12690SJung-uk Kim 
396a9f12690SJung-uk Kim 
397a9f12690SJung-uk Kim /*
398a9f12690SJung-uk Kim  * dbinput - user front-end to the AML debugger
399a9f12690SJung-uk Kim  */
400a9f12690SJung-uk Kim ACPI_STATUS
401a9f12690SJung-uk Kim AcpiDbCommandDispatch (
402a9f12690SJung-uk Kim     char                    *InputBuffer,
403a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState,
404a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
405a9f12690SJung-uk Kim 
406a9f12690SJung-uk Kim void ACPI_SYSTEM_XFACE
407a9f12690SJung-uk Kim AcpiDbExecuteThread (
408a9f12690SJung-uk Kim     void                    *Context);
409a9f12690SJung-uk Kim 
410a9f12690SJung-uk Kim ACPI_STATUS
411a9f12690SJung-uk Kim AcpiDbUserCommands (
412a9f12690SJung-uk Kim     char                    Prompt,
413a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
414a9f12690SJung-uk Kim 
41542e58c03SJung-uk Kim char *
41642e58c03SJung-uk Kim AcpiDbGetNextToken (
41742e58c03SJung-uk Kim     char                    *String,
41842e58c03SJung-uk Kim     char                    **Next,
41942e58c03SJung-uk Kim     ACPI_OBJECT_TYPE        *ReturnType);
42042e58c03SJung-uk Kim 
421a9f12690SJung-uk Kim 
422a9f12690SJung-uk Kim /*
423a9f12690SJung-uk Kim  * dbstats - Generation and display of ACPI table statistics
424a9f12690SJung-uk Kim  */
425a9f12690SJung-uk Kim void
426a9f12690SJung-uk Kim AcpiDbGenerateStatistics (
427a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Root,
428a9f12690SJung-uk Kim     BOOLEAN                 IsMethod);
429a9f12690SJung-uk Kim 
430a9f12690SJung-uk Kim ACPI_STATUS
431a9f12690SJung-uk Kim AcpiDbDisplayStatistics (
432a9f12690SJung-uk Kim     char                    *TypeArg);
433a9f12690SJung-uk Kim 
434a9f12690SJung-uk Kim 
435a9f12690SJung-uk Kim /*
436a9f12690SJung-uk Kim  * dbutils - AML debugger utilities
437a9f12690SJung-uk Kim  */
438a9f12690SJung-uk Kim void
439a9f12690SJung-uk Kim AcpiDbSetOutputDestination (
440a9f12690SJung-uk Kim     UINT32                  Where);
441a9f12690SJung-uk Kim 
442a9f12690SJung-uk Kim void
443a9f12690SJung-uk Kim AcpiDbDumpExternalObject (
444a9f12690SJung-uk Kim     ACPI_OBJECT             *ObjDesc,
445a9f12690SJung-uk Kim     UINT32                  Level);
446a9f12690SJung-uk Kim 
447a9f12690SJung-uk Kim void
448a9f12690SJung-uk Kim AcpiDbPrepNamestring (
449a9f12690SJung-uk Kim     char                    *Name);
450a9f12690SJung-uk Kim 
451a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *
452a9f12690SJung-uk Kim AcpiDbLocalNsLookup (
453a9f12690SJung-uk Kim     char                    *Name);
454a9f12690SJung-uk Kim 
455a9f12690SJung-uk Kim void
456f38b0f21SJung-uk Kim AcpiDbUint32ToHexString (
457a9f12690SJung-uk Kim     UINT32                  Value,
458a9f12690SJung-uk Kim     char                    *Buffer);
459a9f12690SJung-uk Kim 
460a9f12690SJung-uk Kim #endif  /* __ACDEBUG_H__ */
461