Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
drivers
acpi
acpica
acdebug.h
Go to the documentation of this file.
1
/******************************************************************************
2
*
3
* Name: acdebug.h - ACPI/AML debugger
4
*
5
*****************************************************************************/
6
7
/*
8
* Copyright (C) 2000 - 2012, Intel Corp.
9
* All rights reserved.
10
*
11
* Redistribution and use in source and binary forms, with or without
12
* modification, are permitted provided that the following conditions
13
* are met:
14
* 1. Redistributions of source code must retain the above copyright
15
* notice, this list of conditions, and the following disclaimer,
16
* without modification.
17
* 2. Redistributions in binary form must reproduce at minimum a disclaimer
18
* substantially similar to the "NO WARRANTY" disclaimer below
19
* ("Disclaimer") and any redistribution must be conditioned upon
20
* including a substantially similar Disclaimer requirement for further
21
* binary redistribution.
22
* 3. Neither the names of the above-listed copyright holders nor the names
23
* of any contributors may be used to endorse or promote products derived
24
* from this software without specific prior written permission.
25
*
26
* Alternatively, this software may be distributed under the terms of the
27
* GNU General Public License ("GPL") version 2 as published by the Free
28
* Software Foundation.
29
*
30
* NO WARRANTY
31
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
32
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
33
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
34
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
35
* HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
36
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
37
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
38
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
39
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
40
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
41
* POSSIBILITY OF SUCH DAMAGES.
42
*/
43
44
#ifndef __ACDEBUG_H__
45
#define __ACDEBUG_H__
46
47
#define ACPI_DEBUG_BUFFER_SIZE 4196
48
49
struct
command_info
{
50
char
*
name
;
/* Command Name */
51
u8
min_args
;
/* Minimum arguments required */
52
};
53
54
struct
argument_info
{
55
char
*
name
;
/* Argument Name */
56
};
57
58
#define PARAM_LIST(pl) pl
59
#define DBTEST_OUTPUT_LEVEL(lvl) if (acpi_gbl_db_opt_verbose)
60
#define VERBOSE_PRINT(fp) DBTEST_OUTPUT_LEVEL(lvl) {\
61
acpi_os_printf PARAM_LIST(fp);}
62
63
#define EX_NO_SINGLE_STEP 1
64
#define EX_SINGLE_STEP 2
65
66
/*
67
* dbxface - external debugger interfaces
68
*/
69
acpi_status
acpi_db_initialize
(
void
);
70
71
void
acpi_db_terminate
(
void
);
72
73
acpi_status
74
acpi_db_single_step
(
struct
acpi_walk_state
*walk_state,
75
union
acpi_parse_object
*
op
,
u32
op_type
);
76
77
/*
78
* dbcmds - debug commands and output routines
79
*/
80
acpi_status
acpi_db_disassemble_method
(
char
*
name
);
81
82
void
acpi_db_display_table_info
(
char
*table_arg);
83
84
void
acpi_db_unload_acpi_table
(
char
*table_arg,
char
*instance_arg);
85
86
void
87
acpi_db_set_method_breakpoint
(
char
*
location
,
88
struct
acpi_walk_state
*walk_state,
89
union
acpi_parse_object
*
op
);
90
91
void
acpi_db_set_method_call_breakpoint
(
union
acpi_parse_object
*
op
);
92
93
void
acpi_db_get_bus_info
(
void
);
94
95
void
acpi_db_disassemble_aml
(
char
*statements,
union
acpi_parse_object
*
op
);
96
97
void
acpi_db_dump_namespace
(
char
*start_arg,
char
*depth_arg);
98
99
void
acpi_db_dump_namespace_by_owner
(
char
*owner_arg,
char
*depth_arg);
100
101
void
acpi_db_send_notify
(
char
*
name
,
u32
value
);
102
103
void
acpi_db_set_method_data
(
char
*type_arg,
char
*index_arg,
char
*value_arg);
104
105
acpi_status
106
acpi_db_display_objects
(
char
*obj_type_arg,
char
*display_count_arg);
107
108
void
acpi_db_display_interfaces
(
char
*action_arg,
char
*interface_name_arg);
109
110
acpi_status
acpi_db_find_name_in_namespace
(
char
*name_arg);
111
112
void
acpi_db_set_scope
(
char
*
name
);
113
114
ACPI_HW_DEPENDENT_RETURN_OK
(
acpi_status
acpi_db_sleep(
char
*object_arg))
115
116
void
acpi_db_find_references
(
char
*object_arg);
117
118
void
acpi_db_display_locks
(
void
);
119
120
void
acpi_db_display_resources
(
char
*object_arg);
121
122
ACPI_HW_DEPENDENT_RETURN_VOID
(
void
acpi_db_display_gpes(
void
))
123
124
void
acpi_db_check_integrity
(
void
);
125
126
ACPI_HW_DEPENDENT_RETURN_VOID
(
void
127
acpi_db_generate_gpe(
char
*gpe_arg,
128
char
*block_arg))
129
130
void
acpi_db_check_predefined_names(
void
);
131
132
void
acpi_db_batch_execute
(
void
);
133
134
/*
135
* dbdisply - debug display commands
136
*/
137
void
acpi_db_display_method_info
(union
acpi_parse_object
*
op
);
138
139
void
acpi_db_decode_and_display_object
(
char
*
target
,
char
*output_type);
140
141
void
142
acpi_db_display_result_object
(union
acpi_operand_object
*obj_desc,
143
struct
acpi_walk_state
*walk_state);
144
145
acpi_status
acpi_db_display_all_methods
(
char
*display_count_arg);
146
147
void
acpi_db_display_arguments
(
void
);
148
149
void
acpi_db_display_locals
(
void
);
150
151
void
acpi_db_display_results
(
void
);
152
153
void
acpi_db_display_calling_tree
(
void
);
154
155
void
acpi_db_display_object_type
(
char
*object_arg);
156
157
void
158
acpi_db_display_argument_object
(union
acpi_operand_object
*obj_desc,
159
struct
acpi_walk_state
*walk_state);
160
161
/*
162
* dbexec - debugger control method execution
163
*/
164
void
acpi_db_execute
(
char
*
name
,
char
**args,
u32
flags
);
165
166
void
167
acpi_db_create_execution_threads
(
char
*num_threads_arg,
168
char
*num_loops_arg,
char
*method_name_arg);
169
170
#ifdef ACPI_DBG_TRACK_ALLOCATIONS
171
u32
acpi_db_get_cache_info(
struct
acpi_memory_list
*
cache
);
172
#endif
173
174
/*
175
* dbfileio - Debugger file I/O commands
176
*/
177
acpi_object_type
178
acpi_db_match_argument
(
char
*user_argument,
struct
argument_info
*arguments);
179
180
void
acpi_db_close_debug_file
(
void
);
181
182
void
acpi_db_open_debug_file
(
char
*name);
183
184
acpi_status
acpi_db_load_acpi_table
(
char
*
filename
);
185
186
acpi_status
187
acpi_db_get_table_from_file
(
char
*
filename
,
struct
acpi_table_header
**
table
);
188
189
acpi_status
190
acpi_db_read_table_from_file
(
char
*
filename
,
struct
acpi_table_header
**
table
);
191
192
/*
193
* dbhistry - debugger HISTORY command
194
*/
195
void
acpi_db_add_to_history
(
char
*command_line);
196
197
void
acpi_db_display_history
(
void
);
198
199
char
*
acpi_db_get_from_history
(
char
*command_num_arg);
200
201
/*
202
* dbinput - user front-end to the AML debugger
203
*/
204
acpi_status
205
acpi_db_command_dispatch
(
char
*input_buffer,
206
struct
acpi_walk_state
*walk_state,
207
union
acpi_parse_object
*op);
208
209
void
ACPI_SYSTEM_XFACE
acpi_db_execute_thread
(
void
*
context
);
210
211
/*
212
* dbstats - Generation and display of ACPI table statistics
213
*/
214
void
acpi_db_generate_statistics
(
union
acpi_parse_object
*root,
u8
is_method);
215
216
acpi_status
acpi_db_display_statistics
(
char
*type_arg);
217
218
/*
219
* dbutils - AML debugger utilities
220
*/
221
void
acpi_db_set_output_destination
(
u32
where);
222
223
void
acpi_db_dump_external_object
(
union
acpi_object
*obj_desc,
u32
level
);
224
225
void
acpi_db_prep_namestring
(
char
*name);
226
227
struct
acpi_namespace_node
*
acpi_db_local_ns_lookup
(
char
*name);
228
229
void
acpi_db_uint32_to_hex_string
(
u32
value
,
char
*
buffer
);
230
231
#endif
/* __ACDEBUG_H__ */
Generated on Thu Jan 10 2013 13:23:24 for Linux Kernel by
1.8.2