GDB (xrefs)
|
#include "defs.h"
#include "gdbcore.h"
#include "target.h"
#include "exceptions.h"
#include <signal.h>
#include <ctype.h>
#include "gdb_string.h"
#include <sys/types.h>
#include "command.h"
#include "serial.h"
#include "monitor.h"
#include "gdbcmd.h"
#include "inferior.h"
#include "gdb_regex.h"
#include "srec.h"
#include "regcache.h"
#include "gdbthread.h"
#include "readline/readline.h"
Go to the source code of this file.
Defines | |
#define | TARGET_BUF_SIZE 2048 |
Functions | |
static void | monitor_interrupt_query (void) |
static void | monitor_interrupt_twice (int) |
static void | monitor_stop (ptid_t) |
static void | monitor_dump_regs (struct regcache *regcache) |
static void | monitor_debug (const char *fmt,...) ATTRIBUTE_PRINTF(1 |
static void | monitor_printable_string (char *newstr, char *oldstr, int len) |
static void | monitor_error (char *function, char *message, CORE_ADDR memaddr, int len, char *string, int final_char) |
static int | fromhex (int a) |
static void | monitor_vsprintf (char *sndbuf, char *pattern, va_list args) |
void | monitor_printf_noecho (char *pattern,...) |
void | monitor_printf (char *pattern,...) |
void | monitor_write (char *buf, int buflen) |
int | monitor_readchar (void) |
static int | readchar (int timeout) |
int | monitor_expect (char *string, char *buf, int buflen) |
static int | monitor_expect_regexp (struct re_pattern_buffer *pat, char *buf, int buflen) |
int | monitor_expect_prompt (char *buf, int buflen) |
static void | compile_pattern (char *pattern, struct re_pattern_buffer *compiled_pattern, char *fastmap) |
void | monitor_open (char *args, struct monitor_ops *mon_ops, int from_tty) |
void | monitor_close (void) |
static void | monitor_detach (struct target_ops *ops, char *args, int from_tty) |
char * | monitor_supply_register (struct regcache *regcache, int regno, char *valstr) |
static void | monitor_resume (struct target_ops *ops, ptid_t ptid, int step, enum gdb_signal sig) |
static void | parse_register_dump (struct regcache *regcache, char *buf, int len) |
static void | monitor_interrupt (int signo) |
static void | monitor_wait_cleanup (void *old_timeout) |
static void | monitor_wait_filter (char *buf, int bufmax, int *ext_resp_len, struct target_waitstatus *status) |
static ptid_t | monitor_wait (struct target_ops *ops, ptid_t ptid, struct target_waitstatus *status, int options) |
static void | monitor_fetch_register (struct regcache *regcache, int regno) |
int | monitor_dump_reg_block (struct regcache *regcache, char *block_cmd) |
static void | monitor_fetch_registers (struct target_ops *ops, struct regcache *regcache, int regno) |
static void | monitor_store_register (struct regcache *regcache, int regno) |
static void | monitor_store_registers (struct target_ops *ops, struct regcache *regcache, int regno) |
static void | monitor_prepare_to_store (struct regcache *regcache) |
static void | monitor_files_info (struct target_ops *ops) |
static int | monitor_write_memory (CORE_ADDR memaddr, const gdb_byte *myaddr, int len) |
static int | monitor_write_memory_bytes (CORE_ADDR memaddr, const gdb_byte *myaddr, int len) |
static void | longlongendswap (unsigned char *a) |
static char * | longlong_hexchars (unsigned long long value, char *outbuff) |
static int | monitor_write_memory_longlongs (CORE_ADDR memaddr, const gdb_byte *myaddr, int len) |
static int | monitor_write_memory_block (CORE_ADDR memaddr, const gdb_byte *myaddr, int len) |
static int | monitor_read_memory_single (CORE_ADDR memaddr, gdb_byte *myaddr, int len) |
static int | monitor_read_memory (CORE_ADDR memaddr, gdb_byte *myaddr, int len) |
static LONGEST | monitor_xfer_memory (gdb_byte *readbuf, const gdb_byte *writebuf, ULONGEST memaddr, LONGEST len) |
static LONGEST | monitor_xfer_partial (struct target_ops *ops, enum target_object object, const char *annex, gdb_byte *readbuf, const gdb_byte *writebuf, ULONGEST offset, LONGEST len) |
static void | monitor_kill (struct target_ops *ops) |
static void | monitor_create_inferior (struct target_ops *ops, char *exec_file, char *args, char **env, int from_tty) |
static void | monitor_mourn_inferior (struct target_ops *ops) |
static int | monitor_insert_breakpoint (struct gdbarch *gdbarch, struct bp_target_info *bp_tgt) |
static int | monitor_remove_breakpoint (struct gdbarch *gdbarch, struct bp_target_info *bp_tgt) |
static int | monitor_wait_srec_ack (void) |
static void | monitor_load (char *args, int from_tty) |
static void | monitor_rcmd (char *command, struct ui_file *outbuf) |
char * | monitor_get_dev_name (void) |
static int | monitor_thread_alive (struct target_ops *ops, ptid_t ptid) |
static char * | monitor_pid_to_str (struct target_ops *ops, ptid_t ptid) |
static void | init_base_monitor_ops (void) |
void | init_monitor_ops (struct target_ops *ops) |
void | _initialize_remote_monitors (void) |
Variables | |
static char * | dev_name |
static struct target_ops * | targ_ops |
static struct monitor_ops * | current_monitor |
static int | hashmark |
static int | timeout = 30 |
static int | in_monitor_wait = 0 |
static void(* | ofunc )() |
static CORE_ADDR * | breakaddr |
static struct serial * | monitor_desc = NULL |
static struct re_pattern_buffer | register_pattern |
static char | register_fastmap [256] |
static struct re_pattern_buffer | getmem_resp_delim_pattern |
static char | getmem_resp_delim_fastmap [256] |
static struct re_pattern_buffer | setmem_resp_delim_pattern |
static char | setmem_resp_delim_fastmap [256] |
static struct re_pattern_buffer | setreg_resp_delim_pattern |
static char | setreg_resp_delim_fastmap [256] |
static int | dump_reg_flag |
static int | first_time = 0 |
static ptid_t | monitor_ptid |
static void static unsigned int | monitor_debug_p = 0 |
static char * | hexlate = "0123456789abcdef" |
static struct target_ops | monitor_ops |
initialize_file_ftype | _initialize_remote_monitors |
#define TARGET_BUF_SIZE 2048 |
Definition at line 117 of file monitor.c.
Referenced by monitor_dump_reg_block(), monitor_dump_regs(), monitor_expect_regexp(), and monitor_wait().
void _initialize_remote_monitors | ( | void | ) |
Definition at line 2404 of file monitor.c.
References _, add_setshow_boolean_cmd(), add_setshow_zuinteger_cmd(), hashmark, init_base_monitor_ops(), monitor_debug_p, no_class, ptid_build(), setdebuglist, setlist, showdebuglist, and showlist.
static void compile_pattern | ( | char * | pattern, |
struct re_pattern_buffer * | compiled_pattern, | ||
char * | fastmap | ||
) | [static] |
Definition at line 232 of file monitor.c.
Referenced by monitor_read_memory(), and monitor_supply_register().
static void init_base_monitor_ops | ( | void | ) | [static] |
Definition at line 2356 of file monitor.c.
References default_child_has_all_memory(), default_child_has_execution(), default_child_has_memory(), default_child_has_registers(), default_child_has_stack(), monitor_close(), monitor_create_inferior(), monitor_detach(), monitor_fetch_registers(), monitor_files_info(), monitor_insert_breakpoint(), monitor_kill(), monitor_load(), monitor_mourn_inferior(), monitor_pid_to_str(), monitor_prepare_to_store(), monitor_rcmd(), monitor_remove_breakpoint(), monitor_resume(), monitor_stop(), monitor_store_registers(), monitor_thread_alive(), monitor_wait(), monitor_xfer_partial(), OPS_MAGIC, process_stratum, and serial_log_command().
Referenced by _initialize_remote_monitors(), and init_monitor_ops().
void init_monitor_ops | ( | struct target_ops * | ops | ) |
Definition at line 2390 of file monitor.c.
References init_base_monitor_ops(), memcpy(), and OPS_MAGIC.
Referenced by _initialize_dbug_rom(), _initialize_dink32_rom(), _initialize_m32r_rom(), _initialize_picobug_rom(), and _initialize_ppcbug_rom().
static char* longlong_hexchars | ( | unsigned long long | value, |
char * | outbuff | ||
) | [static] |
Definition at line 1592 of file monitor.c.
References longlongendswap(), and scan().
Referenced by monitor_write_memory_longlongs().
static void longlongendswap | ( | unsigned char * | a | ) | [static] |
Definition at line 1574 of file monitor.c.
Referenced by longlong_hexchars().
void monitor_close | ( | void | ) |
Definition at line 856 of file monitor.c.
References breakaddr, delete_inferior_silent(), delete_thread_silent(), ptid_get_pid(), serial_close(), and xfree().
Referenced by init_base_monitor_ops().
static void monitor_create_inferior | ( | struct target_ops * | ops, |
char * | exec_file, | ||
char * | args, | ||
char ** | env, | ||
int | from_tty | ||
) | [static] |
Definition at line 2070 of file monitor.c.
References _, clear_proceed_status(), error(), exec_bfd, first_time, get_current_regcache(), and regcache_write_pc().
Referenced by init_base_monitor_ops().
static void monitor_debug | ( | const char * | fmt, |
... | |||
) | [static] |
Definition at line 131 of file monitor.c.
References gdb_stdlog, and vfprintf_filtered().
Referenced by monitor_expect_prompt(), monitor_expect_regexp(), monitor_fetch_register(), monitor_fetch_registers(), monitor_insert_breakpoint(), monitor_load(), monitor_open(), monitor_printf(), monitor_read_memory(), monitor_read_memory_single(), monitor_remove_breakpoint(), monitor_resume(), monitor_stop(), monitor_store_register(), monitor_supply_register(), monitor_wait(), monitor_write_memory(), and parse_register_dump().
static void monitor_detach | ( | struct target_ops * | ops, |
char * | args, | ||
int | from_tty | ||
) | [static] |
Definition at line 878 of file monitor.c.
References _, printf_unfiltered(), target_shortname, and unpush_target().
Referenced by init_base_monitor_ops().
int monitor_dump_reg_block | ( | struct regcache * | regcache, |
char * | block_cmd | ||
) |
Definition at line 1291 of file monitor.c.
References monitor_expect_prompt(), monitor_printf(), parse_register_dump(), and TARGET_BUF_SIZE.
static void monitor_dump_regs | ( | struct regcache * | regcache | ) | [static] |
Definition at line 1307 of file monitor.c.
References _, monitor_ops::dump_registers, monitor_ops::dumpregs, internal_error(), monitor_expect_prompt(), monitor_printf(), parse_register_dump(), and TARGET_BUF_SIZE.
Referenced by monitor_fetch_registers(), and monitor_wait().
static void monitor_error | ( | char * | function, |
char * | message, | ||
CORE_ADDR | memaddr, | ||
int | len, | ||
char * | string, | ||
int | final_char | ||
) | [static] |
Definition at line 211 of file monitor.c.
References _, error(), len, monitor_printable_string(), paddress(), and target_gdbarch().
Referenced by monitor_read_memory(), and monitor_read_memory_single().
int monitor_expect | ( | char * | string, |
char * | buf, | ||
int | buflen | ||
) |
Definition at line 502 of file monitor.c.
References fprintf_unfiltered(), gdb_stdlog, immediate_quit, memcmp(), monitor_debug_p, monitor_printable_string(), p, QUIT, readchar(), string, and timeout.
Referenced by m32r_load(), m32r_load_section(), monitor_expect_prompt(), monitor_fetch_register(), monitor_load(), monitor_printf(), monitor_read_memory(), monitor_read_memory_single(), monitor_store_register(), and monitor_write_memory().
int monitor_expect_prompt | ( | char * | buf, |
int | buflen | ||
) |
Definition at line 653 of file monitor.c.
References monitor_debug(), monitor_expect(), and monitor_ops::prompt.
Referenced by m32r_load(), m32r_load_section(), m32r_upload_command(), monitor_dump_reg_block(), monitor_dump_regs(), monitor_fetch_register(), monitor_insert_breakpoint(), monitor_load(), monitor_open(), monitor_rcmd(), monitor_read_memory(), monitor_read_memory_single(), monitor_remove_breakpoint(), monitor_store_register(), monitor_wait(), monitor_wait_filter(), monitor_write_memory(), monitor_write_memory_bytes(), monitor_write_memory_longlongs(), and picobug_dumpregs().
static int monitor_expect_regexp | ( | struct re_pattern_buffer * | pat, |
char * | buf, | ||
int | buflen | ||
) | [static] |
Definition at line 601 of file monitor.c.
References memcpy(), monitor_debug(), p, readchar(), TARGET_BUF_SIZE, and timeout.
Referenced by monitor_read_memory_single(), monitor_store_register(), and monitor_write_memory().
static void monitor_fetch_register | ( | struct regcache * | regcache, |
int | regno | ||
) | [static] |
Definition at line 1180 of file monitor.c.
References _, regrw_cmd::cmd, error(), monitor_ops::flags, get_regcache_arch(), monitor_ops::getreg, MAX_REGISTER_SIZE, memset(), MO_32_REGS_PAIRED, MO_HEX_PREFIX, monitor_debug(), monitor_expect(), monitor_expect_prompt(), monitor_printf(), monitor_supply_register(), name, readchar(), regcache_raw_supply(), register_size(), monitor_ops::regname, monitor_ops::regnames, regrw_cmd::resp_delim, regrw_cmd::term, regrw_cmd::term_cmd, and timeout.
Referenced by monitor_fetch_registers().
static void monitor_fetch_registers | ( | struct target_ops * | ops, |
struct regcache * | regcache, | ||
int | regno | ||
) | [static] |
Definition at line 1327 of file monitor.c.
References regrw_cmd::cmd, gdbarch_num_regs(), get_regcache_arch(), monitor_ops::getreg, monitor_debug(), monitor_dump_regs(), and monitor_fetch_register().
Referenced by init_base_monitor_ops().
static void monitor_files_info | ( | struct target_ops * | ops | ) | [static] |
Definition at line 1436 of file monitor.c.
References _, baud_rate, dev_name, and printf_unfiltered().
Referenced by init_base_monitor_ops().
char* monitor_get_dev_name | ( | void | ) |
static int monitor_insert_breakpoint | ( | struct gdbarch * | gdbarch, |
struct bp_target_info * | bp_tgt | ||
) | [static] |
Definition at line 2098 of file monitor.c.
References _, breakaddr, error(), monitor_ops::flags, gdbarch_addr_bits_remove(), gdbarch_breakpoint_from_pc(), MO_ADDR_BITS_REMOVE, monitor_debug(), monitor_expect_prompt(), monitor_printf(), monitor_ops::num_breakpoints, paddress(), bp_target_info::placed_address, bp_target_info::placed_size, and monitor_ops::set_break.
Referenced by init_base_monitor_ops().
static void monitor_interrupt | ( | int | signo | ) | [static] |
Definition at line 1005 of file monitor.c.
References fprintf_unfiltered(), gdb_stdlog, inferior_ptid, monitor_debug_p, monitor_interrupt_twice(), remote_debug, and target_stop().
Referenced by monitor_interrupt_twice(), and monitor_wait().
static void monitor_interrupt_query | ( | void | ) | [static] |
Definition at line 1031 of file monitor.c.
References _, query(), quit(), target_mourn_inferior(), target_terminal_inferior(), and target_terminal_ours.
Referenced by monitor_interrupt_twice().
static void monitor_interrupt_twice | ( | int | signo | ) | [static] |
Definition at line 1019 of file monitor.c.
References monitor_interrupt(), monitor_interrupt_query(), and ofunc.
Referenced by monitor_interrupt().
static void monitor_kill | ( | struct target_ops * | ops | ) | [static] |
Definition at line 2062 of file monitor.c.
Referenced by init_base_monitor_ops().
static void monitor_load | ( | char * | args, |
int | from_tty | ||
) | [static] |
Definition at line 2197 of file monitor.c.
References _, do_cleanups(), error(), error_no_arg(), exec_bfd, monitor_ops::flags, gdb_buildargv(), get_current_regcache(), hashmark, monitor_ops::load, load_srec(), monitor_ops::loadresp, make_cleanup(), make_cleanup_freeargv(), MO_SREC_ACK, monitor_debug(), monitor_expect(), monitor_expect_prompt(), monitor_printf(), monitor_wait_srec_ack(), regcache_write_pc(), SREC_ALL, strtoulst(), and xfree().
Referenced by init_base_monitor_ops().
static void monitor_mourn_inferior | ( | struct target_ops * | ops | ) | [static] |
Definition at line 2088 of file monitor.c.
References delete_thread_silent(), generic_mourn_inferior(), and unpush_target().
Referenced by init_base_monitor_ops().
void monitor_open | ( | char * | args, |
struct monitor_ops * | mon_ops, | ||
int | from_tty | ||
) |
Definition at line 715 of file monitor.c.
References _, add_thread_silent(), baud_rate, breakaddr, monitor_ops::clr_all_break, compile_pattern(), current_inferior(), dev_name, error(), monitor_ops::flags, monitor_ops::getmem, getmem_resp_delim_fastmap, getmem_resp_delim_pattern, arm-linux::inf, inferior_appeared(), inferior_ptid, monitor_ops::init, init_thread_list(), init_wait_for_inferior(), monitor_ops::line_term, monitor_ops::magic, memset(), MO_NO_ECHO_ON_OPEN, monitor_debug(), monitor_expect_prompt(), MONITOR_OPS_MAGIC, monitor_printf(), monitor_printf_noecho(), monitor_ptid, monitor_stop(), name, monitor_ops::num_breakpoints, p, perror_with_name(), printf_unfiltered(), ptid_get_pid(), push_target(), register_fastmap, register_pattern, monitor_ops::register_pattern, memrw_cmd::resp_delim, regrw_cmd::resp_delim, serial_close(), serial_flush_input(), serial_open(), serial_raw(), serial_setbaudrate(), serial_setstopbits(), monitor_ops::set_break, monitor_ops::setmem, setmem_resp_delim_fastmap, setmem_resp_delim_pattern, monitor_ops::setreg, setreg_resp_delim_fastmap, setreg_resp_delim_pattern, start_remote(), monitor_ops::stop, monitor_ops::stopbits, monitor_ops::target, target_preopen(), target_ops::to_shortname, unpush_target(), xfree(), and xmalloc().
Referenced by dbug_open(), dink32_open(), m32r_open(), mon2000_open(), picobug_open(), ppcbug_open0(), and ppcbug_open1().
static char* monitor_pid_to_str | ( | struct target_ops * | ops, |
ptid_t | ptid | ||
) | [static] |
Definition at line 2340 of file monitor.c.
References normal_pid_to_str(), ptid_equal(), and xsnprintf().
Referenced by init_base_monitor_ops().
static void monitor_prepare_to_store | ( | struct regcache * | regcache | ) | [static] |
Definition at line 1430 of file monitor.c.
Referenced by init_base_monitor_ops().
static void monitor_printable_string | ( | char * | newstr, |
char * | oldstr, | ||
int | len | ||
) | [static] |
Definition at line 149 of file monitor.c.
References len.
Referenced by monitor_error(), monitor_expect(), monitor_printf(), and monitor_printf_noecho().
void monitor_printf | ( | char * | pattern, |
... | |||
) |
Definition at line 343 of file monitor.c.
References _, fprintf_unfiltered(), gdb_stdlog, internal_error(), len, monitor_debug(), monitor_debug_p, monitor_expect(), monitor_printable_string(), monitor_vsprintf(), and monitor_write().
Referenced by m32r_load(), m32r_load_section(), m32r_upload_command(), monitor_dump_reg_block(), monitor_dump_regs(), monitor_fetch_register(), monitor_insert_breakpoint(), monitor_load(), monitor_open(), monitor_rcmd(), monitor_read_memory(), monitor_read_memory_single(), monitor_remove_breakpoint(), monitor_resume(), monitor_store_register(), monitor_wait(), monitor_write_memory(), monitor_write_memory_bytes(), monitor_write_memory_longlongs(), and picobug_dumpregs().
void monitor_printf_noecho | ( | char * | pattern, |
... | |||
) |
Definition at line 313 of file monitor.c.
References _, fprintf_unfiltered(), gdb_stdlog, internal_error(), len, monitor_debug_p, monitor_printable_string(), monitor_vsprintf(), and monitor_write().
Referenced by monitor_open(), monitor_stop(), and monitor_write_memory().
static void monitor_rcmd | ( | char * | command, |
struct ui_file * | outbuf | ||
) | [static] |
Definition at line 2279 of file monitor.c.
References _, error(), fputs_unfiltered(), monitor_expect_prompt(), monitor_printf(), p, and monitor_ops::prompt.
Referenced by init_base_monitor_ops().
static int monitor_read_memory | ( | CORE_ADDR | memaddr, |
gdb_byte * | myaddr, | ||
int | len | ||
) | [static] |
Definition at line 1840 of file monitor.c.
References _, memrw_cmd::cmdb, error(), monitor_ops::flags, fprintf_unfiltered(), fromhex(), gdb_stdlog, gdbarch_addr_bits_remove(), monitor_ops::getmem, getmem_resp_delim_pattern, host_address_to_string(), len, memset(), min, MO_ADDR_BITS_REMOVE, MO_EXACT_DUMPADDR, MO_GETMEM_16_BOUNDARY, MO_GETMEM_NEEDS_RANGE, MO_GETMEM_READ_SINGLE, monitor_debug(), monitor_debug_p, monitor_error(), monitor_expect(), monitor_expect_prompt(), monitor_printf(), monitor_read_memory_single(), p, paddress(), remote_debug, memrw_cmd::resp_delim, serial_write(), strstr(), target_gdbarch(), memrw_cmd::term, and memrw_cmd::term_cmd.
Referenced by monitor_xfer_memory().
static int monitor_read_memory_single | ( | CORE_ADDR | memaddr, |
gdb_byte * | myaddr, | ||
int | len | ||
) | [static] |
Definition at line 1709 of file monitor.c.
References memrw_cmd::cmdb, memrw_cmd::cmdl, memrw_cmd::cmdll, memrw_cmd::cmdw, monitor_ops::flags, gdbarch_byte_order(), monitor_ops::getmem, getmem_resp_delim_pattern, int, len, MO_HEX_PREFIX, monitor_debug(), monitor_error(), monitor_expect(), monitor_expect_prompt(), monitor_expect_regexp(), monitor_printf(), p, readchar(), memrw_cmd::resp_delim, store_unsigned_integer(), target_gdbarch(), memrw_cmd::term, memrw_cmd::term_cmd, and timeout.
Referenced by monitor_read_memory().
int monitor_readchar | ( | void | ) |
Definition at line 394 of file monitor.c.
References _, error(), perror_with_name(), serial_readchar(), SERIAL_TIMEOUT, and timeout.
static int monitor_remove_breakpoint | ( | struct gdbarch * | gdbarch, |
struct bp_target_info * | bp_tgt | ||
) | [static] |
Definition at line 2135 of file monitor.c.
References _, breakaddr, monitor_ops::clr_break, error(), monitor_ops::flags, fprintf_unfiltered(), gdb_stderr, MO_CLR_BREAK_1_BASED, MO_CLR_BREAK_USES_ADDR, monitor_debug(), monitor_expect_prompt(), monitor_printf(), monitor_ops::num_breakpoints, paddress(), and bp_target_info::placed_address.
Referenced by init_base_monitor_ops().
static void monitor_resume | ( | struct target_ops * | ops, |
ptid_t | ptid, | ||
int | step, | ||
enum gdb_signal | sig | ||
) | [static] |
Definition at line 938 of file monitor.c.
References monitor_ops::cont, monitor_ops::continue_hook, dump_reg_flag, first_time, monitor_ops::flags, MO_NEED_REGDUMP_AFTER_CONT, MO_RUN_FIRST_TIME, monitor_debug(), monitor_printf(), and monitor_ops::step.
Referenced by init_base_monitor_ops().
static void monitor_stop | ( | ptid_t | ptid | ) | [static] |
Definition at line 2265 of file monitor.c.
References monitor_ops::flags, MO_SEND_BREAK_ON_STOP, monitor_debug(), monitor_printf_noecho(), serial_send_break(), and monitor_ops::stop.
Referenced by init_base_monitor_ops(), and monitor_open().
static void monitor_store_register | ( | struct regcache * | regcache, |
int | regno | ||
) | [static] |
Definition at line 1352 of file monitor.c.
References regrw_cmd::cmd, monitor_ops::flags, get_regcache_arch(), MO_REGISTER_VALUE_FIRST, MO_SETREG_INTERACTIVE, monitor_debug(), monitor_expect(), monitor_expect_prompt(), monitor_expect_regexp(), monitor_printf(), name, phex(), phex_nz(), regcache_cooked_read_unsigned(), register_size(), monitor_ops::regname, monitor_ops::regnames, regrw_cmd::resp_delim, monitor_ops::setreg, setreg_resp_delim_pattern, regrw_cmd::term, regrw_cmd::term_cmd, and ULONGEST.
Referenced by monitor_store_registers().
static void monitor_store_registers | ( | struct target_ops * | ops, |
struct regcache * | regcache, | ||
int | regno | ||
) | [static] |
Definition at line 1409 of file monitor.c.
References gdbarch_num_regs(), get_regcache_arch(), and monitor_store_register().
Referenced by init_base_monitor_ops().
char* monitor_supply_register | ( | struct regcache * | regcache, |
int | regno, | ||
char * | valstr | ||
) |
Definition at line 888 of file monitor.c.
References _, gdbarch::byte_order, error(), fromhex(), gdbarch_byte_order(), get_regcache_arch(), MAX_REGISTER_SIZE, monitor_debug(), p, regcache_raw_supply(), register_size(), store_unsigned_integer(), and ULONGEST.
Referenced by dbug_supply_register(), dink32_supply_register(), m32r_supply_register(), monitor_fetch_register(), picobug_dumpregs(), and ppcbug_supply_register().
static int monitor_thread_alive | ( | struct target_ops * | ops, |
ptid_t | ptid | ||
) | [static] |
Definition at line 2327 of file monitor.c.
References ptid_equal().
Referenced by init_base_monitor_ops().
static void monitor_vsprintf | ( | char * | sndbuf, |
char * | pattern, | ||
va_list | args | ||
) | [static] |
Definition at line 258 of file monitor.c.
References gdbarch_addr_bit(), int, p, phex_nz(), and target_gdbarch().
Referenced by monitor_printf(), and monitor_printf_noecho().
static ptid_t monitor_wait | ( | struct target_ops * | ops, |
ptid_t | ptid, | ||
struct target_waitstatus * | status, | ||
int | options | ||
) | [static] |
Definition at line 1094 of file monitor.c.
References discard_cleanups(), dump_reg_flag, monitor_ops::dump_registers, monitor_ops::flags, fprintf_unfiltered(), gdb_stderr, get_current_regcache(), in_monitor_wait, inferior_ptid, target_waitstatus::integer, target_waitstatus::kind, make_cleanup(), MO_PRINT_PROGRAM_OUTPUT, monitor_debug(), monitor_debug_p, monitor_dump_regs(), monitor_expect_prompt(), monitor_interrupt(), monitor_printf(), monitor_wait_cleanup(), monitor_wait_filter(), ofunc, parse_register_dump(), putchar_unfiltered(), monitor_ops::register_pattern, remote_debug, target_waitstatus::sig, exsummary::status, TARGET_BUF_SIZE, TARGET_WAITKIND_EXITED, TARGET_WAITKIND_STOPPED, timeout, target_waitstatus::value, monitor_ops::wait_filter, and watchdog.
Referenced by init_base_monitor_ops().
static void monitor_wait_cleanup | ( | void * | old_timeout | ) | [static] |
Definition at line 1046 of file monitor.c.
References in_monitor_wait, ofunc, and timeout.
Referenced by monitor_wait().
static void monitor_wait_filter | ( | char * | buf, |
int | bufmax, | ||
int * | ext_resp_len, | ||
struct target_waitstatus * | status | ||
) | [static] |
Definition at line 1056 of file monitor.c.
References monitor_ops::flags, fprintf_unfiltered(), gdb_stderr, MO_PRINT_PROGRAM_OUTPUT, monitor_debug_p, monitor_expect_prompt(), putchar_unfiltered(), and remote_debug.
Referenced by monitor_wait().
static int monitor_wait_srec_ack | ( | void | ) | [static] |
Definition at line 2171 of file monitor.c.
References monitor_ops::flags, MO_SREC_ACK_PLUS, MO_SREC_ACK_ROTATE, readchar(), and timeout.
Referenced by monitor_load().
void monitor_write | ( | char * | buf, |
int | buflen | ||
) |
Definition at line 381 of file monitor.c.
References fprintf_unfiltered(), gdb_stderr, safe_strerror(), and serial_write().
Referenced by monitor_printf(), and monitor_printf_noecho().
Definition at line 1442 of file monitor.c.
References memrw_cmd::cmdb, memrw_cmd::cmdl, memrw_cmd::cmdll, memrw_cmd::cmdw, extract_unsigned_integer(), monitor_ops::fill, monitor_ops::flags, gdbarch_addr_bits_remove(), gdbarch_byte_order(), len, MO_ADDR_BITS_REMOVE, MO_FILL_USES_ADDR, MO_NO_ECHO_ON_SETMEM, MO_SETMEM_INTERACTIVE, monitor_debug(), monitor_expect(), monitor_expect_prompt(), monitor_expect_regexp(), monitor_printf(), monitor_printf_noecho(), paddress(), memrw_cmd::resp_delim, monitor_ops::setmem, setmem_resp_delim_pattern, target_gdbarch(), memrw_cmd::term, and memrw_cmd::term_cmd.
Referenced by monitor_xfer_memory().
static int monitor_write_memory_block | ( | CORE_ADDR | memaddr, |
const gdb_byte * | myaddr, | ||
int | len | ||
) | [static] |
Definition at line 1689 of file monitor.c.
References memrw_cmd::cmdll, monitor_write_memory_bytes(), monitor_write_memory_longlongs(), and monitor_ops::setmem.
Referenced by monitor_xfer_memory().
static int monitor_write_memory_bytes | ( | CORE_ADDR | memaddr, |
const gdb_byte * | myaddr, | ||
int | len | ||
) | [static] |
Definition at line 1545 of file monitor.c.
References memrw_cmd::cmdb, monitor_ops::getreg, monitor_expect_prompt(), monitor_printf(), monitor_ops::setmem, and regrw_cmd::term_cmd.
Referenced by monitor_write_memory_block().
static int monitor_write_memory_longlongs | ( | CORE_ADDR | memaddr, |
const gdb_byte * | myaddr, | ||
int | len | ||
) | [static] |
Definition at line 1641 of file monitor.c.
References memrw_cmd::cmdll, monitor_ops::getreg, longlong_hexchars(), monitor_expect_prompt(), monitor_printf(), monitor_ops::setmem, and regrw_cmd::term_cmd.
Referenced by monitor_write_memory_block().
static LONGEST monitor_xfer_memory | ( | gdb_byte * | readbuf, |
const gdb_byte * | writebuf, | ||
ULONGEST | memaddr, | ||
LONGEST | len | ||
) | [static] |
Definition at line 2022 of file monitor.c.
References monitor_ops::flags, MO_HAS_BLOCKWRITES, monitor_read_memory(), monitor_write_memory(), monitor_write_memory_block(), and TARGET_XFER_E_IO.
Referenced by monitor_xfer_partial().
static LONGEST monitor_xfer_partial | ( | struct target_ops * | ops, |
enum target_object | object, | ||
const char * | annex, | ||
gdb_byte * | readbuf, | ||
const gdb_byte * | writebuf, | ||
ULONGEST | offset, | ||
LONGEST | len | ||
) | [static] |
Definition at line 2047 of file monitor.c.
References monitor_xfer_memory(), TARGET_OBJECT_MEMORY, and TARGET_XFER_E_IO.
Referenced by init_base_monitor_ops().
static void parse_register_dump | ( | struct regcache * | regcache, |
char * | buf, | ||
int | len | ||
) | [static] |
Definition at line 970 of file monitor.c.
References memset(), monitor_debug(), register_pattern, and monitor_ops::supply_register.
Referenced by monitor_dump_reg_block(), monitor_dump_regs(), and monitor_wait().
Definition at line 423 of file monitor.c.
References _, error(), monitor_ops::flags, in_monitor_wait, MO_HANDLE_NL, monitor_debug_p, perror_with_name(), puts_debug(), remote_debug, serial_readchar(), SERIAL_TIMEOUT, and target_mourn_inferior().
Referenced by monitor_expect(), monitor_expect_regexp(), monitor_fetch_register(), monitor_read_memory_single(), and monitor_wait_srec_ack().
Definition at line 81 of file monitor.c.
Referenced by monitor_close(), monitor_insert_breakpoint(), monitor_open(), and monitor_remove_breakpoint().
struct monitor_ops* current_monitor [static] |
char* dev_name [static] |
Definition at line 59 of file monitor.c.
Referenced by monitor_files_info(), monitor_get_dev_name(), and monitor_open().
int dump_reg_flag [static] |
Definition at line 103 of file monitor.c.
Referenced by monitor_resume(), and monitor_wait().
int first_time = 0 [static] |
Definition at line 106 of file monitor.c.
Referenced by interp_set(), monitor_create_inferior(), monitor_resume(), and setup_type_unit_groups().
char getmem_resp_delim_fastmap[256] [static] |
Definition at line 95 of file monitor.c.
Referenced by monitor_open().
struct re_pattern_buffer getmem_resp_delim_pattern [static] |
Definition at line 94 of file monitor.c.
Referenced by monitor_open(), monitor_read_memory(), and monitor_read_memory_single().
Definition at line 73 of file monitor.c.
Referenced by _initialize_remote_monitors(), and monitor_load().
int in_monitor_wait = 0 [static] |
Definition at line 77 of file monitor.c.
Referenced by monitor_wait(), monitor_wait_cleanup(), and readchar().
void static unsigned int monitor_debug_p = 0 [static] |
Definition at line 124 of file monitor.c.
Referenced by _initialize_remote_monitors(), monitor_expect(), monitor_interrupt(), monitor_printf(), monitor_printf_noecho(), monitor_read_memory(), monitor_wait(), monitor_wait_filter(), and readchar().
struct serial* monitor_desc = NULL [static] |
struct target_ops monitor_ops [static] |
ptid_t monitor_ptid [static] |
Definition at line 115 of file monitor.c.
Referenced by monitor_open().
void(* ofunc)() [static] |
Definition at line 79 of file monitor.c.
Referenced by monitor_interrupt_twice(), monitor_wait(), and monitor_wait_cleanup().
char register_fastmap[256] [static] |
Definition at line 92 of file monitor.c.
Referenced by monitor_open().
struct re_pattern_buffer register_pattern [static] |
Definition at line 91 of file monitor.c.
Referenced by monitor_open(), and parse_register_dump().
char setmem_resp_delim_fastmap[256] [static] |
Definition at line 98 of file monitor.c.
Referenced by monitor_open().
struct re_pattern_buffer setmem_resp_delim_pattern [static] |
Definition at line 97 of file monitor.c.
Referenced by monitor_open(), and monitor_write_memory().
char setreg_resp_delim_fastmap[256] [static] |
Definition at line 101 of file monitor.c.
Referenced by monitor_open().
struct re_pattern_buffer setreg_resp_delim_pattern [static] |
Definition at line 100 of file monitor.c.
Referenced by monitor_open(), and monitor_store_register().
struct target_ops* targ_ops [static] |
Definition at line 75 of file monitor.c.
Referenced by gdb_wait_for_event(), getpkt_or_notif_sane_1(), mips_readchar(), monitor_expect(), monitor_expect_regexp(), monitor_fetch_register(), monitor_read_memory_single(), monitor_readchar(), monitor_wait(), monitor_wait_cleanup(), monitor_wait_srec_ack(), print_sockets(), ser_base_wait_for(), and wait_for().