📄 acdebug.h
字号:
/****************************************************************************** * * Name: acdebug.h - ACPI/AML debugger * $Revision: 50 $ * *****************************************************************************//* * Copyright (C) 2000, 2001 R. Byron Moore * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */#ifndef __ACDEBUG_H__#define __ACDEBUG_H__#define DB_MAX_ARGS 8 /* Must be max method args + 1 */#define DB_COMMAND_PROMPT '-'#define DB_EXECUTE_PROMPT '%'extern int optind;extern NATIVE_CHAR *optarg;extern u8 *aml_start;extern u32 aml_length;extern u8 acpi_gbl_db_opt_tables;extern u8 acpi_gbl_db_opt_disasm;extern u8 acpi_gbl_db_opt_stats;extern u8 acpi_gbl_db_opt_parse_jit;extern u8 acpi_gbl_db_opt_verbose;extern u8 acpi_gbl_db_opt_ini_methods;extern NATIVE_CHAR *acpi_gbl_db_args[DB_MAX_ARGS];extern NATIVE_CHAR acpi_gbl_db_line_buf[80];extern NATIVE_CHAR acpi_gbl_db_scope_buf[40];extern NATIVE_CHAR acpi_gbl_db_debug_filename[40];extern u8 acpi_gbl_db_output_to_file;extern NATIVE_CHAR *acpi_gbl_db_buffer;extern NATIVE_CHAR *acpi_gbl_db_filename;extern NATIVE_CHAR *acpi_gbl_db_disasm_indent;extern u8 acpi_gbl_db_output_flags;extern u32 acpi_gbl_db_debug_level;extern u32 acpi_gbl_db_console_debug_level;extern acpi_table_header *acpi_gbl_db_table_ptr;/* * Statistic globals */extern u16 acpi_gbl_obj_type_count[INTERNAL_TYPE_NODE_MAX+1];extern u16 acpi_gbl_node_type_count[INTERNAL_TYPE_NODE_MAX+1];extern u16 acpi_gbl_obj_type_count_misc;extern u16 acpi_gbl_node_type_count_misc;extern u32 acpi_gbl_num_nodes;extern u32 acpi_gbl_num_objects;extern u32 acpi_gbl_size_of_parse_tree;extern u32 acpi_gbl_size_of_method_trees;extern u32 acpi_gbl_size_of_node_entries;extern u32 acpi_gbl_size_of_acpi_objects;#define ACPI_DEBUG_BUFFER_SIZE 4196#define DB_REDIRECTABLE_OUTPUT 0x01#define DB_CONSOLE_OUTPUT 0x02#define DB_DUPLICATE_OUTPUT 0x03typedef struct command_info{ NATIVE_CHAR *name; /* Command Name */ u8 min_args; /* Minimum arguments required */} COMMAND_INFO;typedef struct argument_info{ NATIVE_CHAR *name; /* Argument Name */} ARGUMENT_INFO;#define PARAM_LIST(pl) pl#define DBTEST_OUTPUT_LEVEL(lvl) if (acpi_gbl_db_opt_verbose)#define VERBOSE_PRINT(fp) DBTEST_OUTPUT_LEVEL(lvl) {\ acpi_os_printf PARAM_LIST(fp);}#define EX_NO_SINGLE_STEP 1#define EX_SINGLE_STEP 2/* Prototypes *//* * dbapi - external debugger interfaces */intacpi_db_initialize ( void);voidacpi_db_terminate ( void);acpi_statusacpi_db_single_step ( acpi_walk_state *walk_state, acpi_parse_object *op, u32 op_type);/* * dbcmds - debug commands and output routines */voidacpi_db_display_table_info ( NATIVE_CHAR *table_arg);voidacpi_db_unload_acpi_table ( NATIVE_CHAR *table_arg, NATIVE_CHAR *instance_arg);voidacpi_db_set_method_breakpoint ( NATIVE_CHAR *location, acpi_walk_state *walk_state, acpi_parse_object *op);voidacpi_db_set_method_call_breakpoint ( acpi_parse_object *op);voidacpi_db_disassemble_aml ( NATIVE_CHAR *statements, acpi_parse_object *op);voidacpi_db_dump_namespace ( NATIVE_CHAR *start_arg, NATIVE_CHAR *depth_arg);voidacpi_db_dump_namespace_by_owner ( NATIVE_CHAR *owner_arg, NATIVE_CHAR *depth_arg);voidacpi_db_send_notify ( NATIVE_CHAR *name, u32 value);voidacpi_db_set_method_data ( NATIVE_CHAR *type_arg, NATIVE_CHAR *index_arg, NATIVE_CHAR *value_arg);acpi_statusacpi_db_display_objects ( NATIVE_CHAR *obj_type_arg, NATIVE_CHAR *display_count_arg);acpi_statusacpi_db_find_name_in_namespace ( NATIVE_CHAR *name_arg);voidacpi_db_set_scope ( NATIVE_CHAR *name);voidacpi_db_find_references ( NATIVE_CHAR *object_arg);voidacpi_db_display_locks (void);voidacpi_db_display_resources ( NATIVE_CHAR *object_arg);/* * dbdisasm - AML disassembler */voidacpi_db_display_op ( acpi_walk_state *walk_state, acpi_parse_object *origin, u32 num_opcodes);voidacpi_db_display_namestring ( NATIVE_CHAR *name);voidacpi_db_display_path ( acpi_parse_object *op);voidacpi_db_display_opcode ( acpi_walk_state *walk_state, acpi_parse_object *op);voidacpi_db_decode_internal_object ( acpi_operand_object *obj_desc);/* * dbdisply - debug display commands */voidacpi_db_display_method_info ( acpi_parse_object *op);voidacpi_db_decode_and_display_object ( NATIVE_CHAR *target, NATIVE_CHAR *output_type);voidacpi_db_display_result_object ( acpi_operand_object *obj_desc, acpi_walk_state *walk_state);acpi_statusacpi_db_display_all_methods ( NATIVE_CHAR *display_count_arg);voidacpi_db_display_internal_object ( acpi_operand_object *obj_desc, acpi_walk_state *walk_state);voidacpi_db_display_arguments ( void);voidacpi_db_display_locals ( void);voidacpi_db_display_results ( void);voidacpi_db_display_calling_tree ( void);voidacpi_db_display_argument_object ( acpi_operand_object *obj_desc, acpi_walk_state *walk_state);/* * dbexec - debugger control method execution */voidacpi_db_execute ( NATIVE_CHAR *name, NATIVE_CHAR **args, u32 flags);voidacpi_db_create_execution_threads ( NATIVE_CHAR *num_threads_arg, NATIVE_CHAR *num_loops_arg, NATIVE_CHAR *method_name_arg);/* * dbfileio - Debugger file I/O commands */acpi_object_type8acpi_db_match_argument ( NATIVE_CHAR *user_argument, ARGUMENT_INFO *arguments);voidacpi_db_close_debug_file ( void);voidacpi_db_open_debug_file ( NATIVE_CHAR *name);acpi_statusacpi_db_load_acpi_table ( NATIVE_CHAR *filename);/* * dbhistry - debugger HISTORY command */voidacpi_db_add_to_history ( NATIVE_CHAR *command_line);voidacpi_db_display_history (void);NATIVE_CHAR *acpi_db_get_from_history ( NATIVE_CHAR *command_num_arg);/* * dbinput - user front-end to the AML debugger */acpi_statusacpi_db_command_dispatch ( NATIVE_CHAR *input_buffer, acpi_walk_state *walk_state, acpi_parse_object *op);voidacpi_db_execute_thread ( void *context);acpi_statusacpi_db_user_commands ( NATIVE_CHAR prompt, acpi_parse_object *op);/* * dbstats - Generation and display of ACPI table statistics */voidacpi_db_generate_statistics ( acpi_parse_object *root, u8 is_method);acpi_statusacpi_db_display_statistics ( NATIVE_CHAR *type_arg);/* * dbutils - AML debugger utilities */voidacpi_db_set_output_destination ( u32 where);voidacpi_db_dump_buffer ( u32 address);voidacpi_db_dump_object ( acpi_object *obj_desc, u32 level);voidacpi_db_prep_namestring ( NATIVE_CHAR *name);acpi_statusacpi_db_second_pass_parse ( acpi_parse_object *root);acpi_namespace_node *acpi_db_local_ns_lookup ( NATIVE_CHAR *name);#endif /* __ACDEBUG_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -