GDB (xrefs)
|
#include "defs.h"
#include "amd-dbgapi-target.h"
#include "amdgpu-tdep.h"
#include "async-event.h"
#include "cli/cli-cmds.h"
#include "cli/cli-decode.h"
#include "cli/cli-style.h"
#include "inf-loop.h"
#include "inferior.h"
#include "objfiles.h"
#include "observable.h"
#include "registry.h"
#include "solib.h"
#include "target.h"
Go to the source code of this file.
Classes | |
struct | amd_dbgapi_inferior_info |
struct | amd_dbgapi_target |
struct | amd_dbgapi_target_breakpoint |
struct | scoped_amd_dbgapi_event_processed |
Macros | |
#define | amd_dbgapi_debug_printf(fmt, ...) |
#define | AMD_DBGAPI_SCOPED_DEBUG_START_END(fmt, ...) |
#define | AMDGPU_MAX_REGISTER_SIZE 256 |
Functions | |
static std::string | make_green (const char *s) |
static const char * | amd_dbgapi_debug_module () |
static const char * | amd_dbgapi_lib_debug_module () |
const gdb::observers::token & | get_amd_dbgapi_target_inferior_created_observer_token () |
static amd_dbgapi_event_id_t | process_event_queue (amd_dbgapi_process_id_t process_id, amd_dbgapi_event_kind_t until_event_kind=AMD_DBGAPI_EVENT_KIND_NONE) |
static amd_dbgapi_log_level_t | get_debug_amd_dbgapi_lib_log_level () |
static std::string | wave_target_id_string (amd_dbgapi_wave_id_t wave_id) |
static void | async_event_handler_clear () |
static void | async_event_handler_mark () |
static struct amd_dbgapi_inferior_info * | get_amd_dbgapi_inferior_info (struct inferior *inferior) |
static void | require_forward_progress (ptid_t ptid, process_stratum_target *proc_target, bool require) |
amd_dbgapi_process_id_t | get_amd_dbgapi_process_id (inferior *inf) |
static void | handle_target_event (gdb_client_data client_data) |
static void | dbgapi_notifier_handler (int err, gdb_client_data client_data) |
static ptid_t | make_gpu_ptid (ptid_t::pid_type pid, amd_dbgapi_wave_id_t wave_id) |
static void | process_one_event (amd_dbgapi_event_id_t event_id, amd_dbgapi_event_kind_t event_kind) |
static const char * | event_kind_str (amd_dbgapi_event_kind_t kind) |
static std::pair< ptid_t, target_waitstatus > | consume_one_event (int pid) |
static void | set_process_memory_precision (amd_dbgapi_inferior_info &info) |
static void | attach_amd_dbgapi (inferior *inf) |
static void | maybe_reset_amd_dbgapi () |
static void | detach_amd_dbgapi (inferior *inf) |
static void | amd_dbgapi_target_inferior_created (inferior *inf) |
static void | amd_dbgapi_target_inferior_cloned (inferior *original_inferior, inferior *new_inferior) |
static void | amd_dbgapi_inferior_execd (inferior *exec_inf, inferior *follow_inf) |
static void | amd_dbgapi_inferior_forked (inferior *parent_inf, inferior *child_inf, target_waitkind fork_kind) |
static void | amd_dbgapi_inferior_exited (inferior *inf) |
static void | amd_dbgapi_inferior_pre_detach (inferior *inf) |
static amd_dbgapi_status_t | amd_dbgapi_get_os_pid_callback (amd_dbgapi_client_process_id_t client_process_id, pid_t *pid) |
static amd_dbgapi_status_t | amd_dbgapi_insert_breakpoint_callback (amd_dbgapi_client_process_id_t client_process_id, amd_dbgapi_global_address_t address, amd_dbgapi_breakpoint_id_t breakpoint_id) |
static amd_dbgapi_status_t | amd_dbgapi_remove_breakpoint_callback (amd_dbgapi_client_process_id_t client_process_id, amd_dbgapi_breakpoint_id_t breakpoint_id) |
static void | amd_dbgapi_target_signal_received (gdb_signal sig) |
static cli_style_option | fatal_error_style ("amd_dbgapi_fatal_error", ui_file_style::RED) |
static cli_style_option | warning_style ("amd_dbgapi_warning", ui_file_style::YELLOW) |
static cli_style_option | trace_style ("amd_dbgapi_trace", ui_file_style::BLACK, ui_file_style::BOLD) |
static void | amd_dbgapi_log_message_callback (amd_dbgapi_log_level_t level, const char *message) |
static void | show_precise_memory_mode (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value) |
static void | set_precise_memory_mode (bool value) |
static bool | get_precise_memory_mode () |
static void | set_debug_amd_dbgapi_lib_log_level (const char *args, int from_tty, struct cmd_list_element *c) |
static void | show_debug_amd_dbgapi_lib_log_level (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value) |
#define amd_dbgapi_debug_printf | ( | fmt, | |
... ) |
Definition at line 91 of file amd-dbgapi-target.c.
Referenced by attach_amd_dbgapi(), amd_dbgapi_target::commit_resumed(), dbgapi_notifier_handler(), process_event_queue(), amd_dbgapi_target::resume(), amd_dbgapi_target::stop(), and amd_dbgapi_target::wait().
#define AMD_DBGAPI_SCOPED_DEBUG_START_END | ( | fmt, | |
... ) |
Definition at line 98 of file amd-dbgapi-target.c.
Referenced by attach_amd_dbgapi(), and detach_amd_dbgapi().
#define AMDGPU_MAX_REGISTER_SIZE 256 |
Definition at line 114 of file amd-dbgapi-target.c.
Referenced by amd_dbgapi_target::fetch_registers(), and amd_dbgapi_target::store_registers().
|
static |
Definition at line 70 of file amd-dbgapi-target.c.
References amd_dbgapi_debug_module_styled, amd_dbgapi_debug_module_unstyled, and gdb_stdlog.
|
static |
Definition at line 1799 of file amd-dbgapi-target.c.
Definition at line 1732 of file amd-dbgapi-target.c.
References attach_amd_dbgapi(), detach_amd_dbgapi(), get_amd_dbgapi_inferior_info(), amd_dbgapi_inferior_info::precise_memory, and amd_dbgapi_inferior_info::requested.
|
static |
Definition at line 1779 of file amd-dbgapi-target.c.
References detach_amd_dbgapi().
|
static |
Definition at line 1751 of file amd-dbgapi-target.c.
References attach_amd_dbgapi(), get_amd_dbgapi_inferior_info(), amd_dbgapi_inferior_info::precise_memory, amd_dbgapi_inferior_info::requested, switch_to_thread(), TARGET_WAITKIND_VFORKED, and inferior::threads().
|
static |
Definition at line 1787 of file amd-dbgapi-target.c.
References detach_amd_dbgapi(), and the_amd_dbgapi_target.
|
static |
Definition at line 1814 of file amd-dbgapi-target.c.
References objfile::arch(), bp, find_pc_section(), get_amd_dbgapi_inferior_info(), install_breakpoint(), obj_section::objfile, and switch_to_inferior_no_thread().
|
static |
Definition at line 81 of file amd-dbgapi-target.c.
References amd_dbgapi_lib_debug_module_styled, amd_dbgapi_lib_debug_module_unstyled, and gdb_stdlog.
Referenced by amd_dbgapi_log_message_callback().
|
static |
Definition at line 1901 of file amd-dbgapi-target.c.
References amd_dbgapi_lib_debug_module(), begin_line(), fatal_error_style(), gdb_printf(), gdb_stderr, target_terminal::ours_for_output(), cli_style_option::style(), styled_string(), target_supports_terminal_ours(), trace_style(), and warning_style().
|
static |
Definition at line 1847 of file amd-dbgapi-target.c.
References delete_breakpoint(), and get_amd_dbgapi_inferior_info().
|
static |
Definition at line 1716 of file amd-dbgapi-target.c.
References get_amd_dbgapi_inferior_info().
|
static |
Definition at line 1703 of file amd-dbgapi-target.c.
References attach_amd_dbgapi(), and get_native_target().
|
static |
Definition at line 1867 of file amd-dbgapi-target.c.
References current_inferior(), gdb_printf(), get_amd_dbgapi_inferior_info(), inferior_thread(), and ptid_is_gpu().
|
static |
Definition at line 312 of file amd-dbgapi-target.c.
References amd_dbgapi_async_event_handler, and clear_async_event_handler().
Referenced by amd_dbgapi_target::wait().
|
static |
Definition at line 321 of file amd-dbgapi-target.c.
References amd_dbgapi_async_event_handler, and mark_async_event_handler().
Referenced by amd_dbgapi_target::async(), dbgapi_notifier_handler(), amd_dbgapi_target::stop(), and amd_dbgapi_target::wait().
|
static |
Definition at line 1377 of file amd-dbgapi-target.c.
References amd_dbgapi_debug_printf, AMD_DBGAPI_SCOPED_DEBUG_START_END, dbgapi_notifier_handler(), get_amd_dbgapi_inferior_info(), get_status_string(), inf::pid, set_process_memory_precision(), status, and target_can_async_p().
Referenced by amd_dbgapi_inferior_execd(), amd_dbgapi_inferior_forked(), and amd_dbgapi_target_inferior_created().
|
static |
Definition at line 1190 of file amd-dbgapi-target.c.
References all_inferiors(), current_inferior(), find_inferior_pid(), get_amd_dbgapi_inferior_info(), pid, and inferior::process_target().
Referenced by amd_dbgapi_target::wait().
|
static |
Definition at line 783 of file amd-dbgapi-target.c.
References amd_dbgapi_debug_printf, async_event_handler_mark(), get_status_string(), read(), status, switch_to_inferior_no_thread(), target_async(), and the_amd_dbgapi_target.
Referenced by amd_dbgapi_target::async(), and attach_amd_dbgapi().
|
static |
Definition at line 1462 of file amd-dbgapi-target.c.
References amd_dbgapi_inferior_info::amd_dbgapi_inferior_info(), AMD_DBGAPI_SCOPED_DEBUG_START_END, delete_breakpoint(), get_amd_dbgapi_inferior_info(), get_status_string(), maybe_reset_amd_dbgapi(), inf::pid, status, and the_amd_dbgapi_target.
Referenced by amd_dbgapi_inferior_execd(), amd_dbgapi_inferior_exited(), amd_dbgapi_inferior_pre_detach(), amd_dbgapi_target::detach(), and amd_dbgapi_target::mourn_inferior().
|
static |
Definition at line 1105 of file amd-dbgapi-target.c.
Referenced by process_event_queue().
|
static |
Referenced by amd_dbgapi_log_message_callback().
|
static |
Definition at line 330 of file amd-dbgapi-target.c.
References amd_dbgapi_inferior_data, and registry< T >::get().
Referenced by amd_dbgapi_inferior_execd(), amd_dbgapi_inferior_forked(), amd_dbgapi_insert_breakpoint_callback(), amd_dbgapi_remove_breakpoint_callback(), amd_dbgapi_target_inferior_cloned(), amd_dbgapi_target_signal_received(), amd_dbgapi_target::async(), attach_amd_dbgapi(), amd_dbgapi_target_breakpoint::check_status(), consume_one_event(), detach_amd_dbgapi(), get_amd_dbgapi_process_id(), get_precise_memory_mode(), maybe_reset_amd_dbgapi(), process_one_event(), require_forward_progress(), set_precise_memory_mode(), show_precise_memory_mode(), amd_dbgapi_target::stop(), and amd_dbgapi_target::wait().
amd_dbgapi_process_id_t get_amd_dbgapi_process_id | ( | inferior * | inf | ) |
Definition at line 380 of file amd-dbgapi-target.c.
References get_amd_dbgapi_inferior_info(), and amd_dbgapi_inferior_info::process_id.
Referenced by rocm_update_solib_list(), amd_dbgapi_target::update_thread_list(), and amd_dbgapi_target::xfer_partial().
const gdb::observers::token & get_amd_dbgapi_target_inferior_created_observer_token | ( | ) |
Definition at line 107 of file amd-dbgapi-target.c.
References amd_dbgapi_target_inferior_created_observer_token.
|
static |
Definition at line 2025 of file amd-dbgapi-target.c.
References debug_amd_dbgapi_lib_log_level, and debug_amd_dbgapi_lib_log_level_enums.
Referenced by set_debug_amd_dbgapi_lib_log_level().
|
static |
Definition at line 1988 of file amd-dbgapi-target.c.
References current_inferior(), and get_amd_dbgapi_inferior_info().
|
static |
Definition at line 752 of file amd-dbgapi-target.c.
References INF_REG_EVENT, and inferior_event_handler().
Referenced by amd_dbgapi_target::async(), fbsd_nat_target::async(), and linux_nat_target::async().
|
static |
Definition at line 927 of file amd-dbgapi-target.c.
References pid.
Referenced by process_one_event(), and amd_dbgapi_target::update_thread_list().
|
static |
Definition at line 43 of file amd-dbgapi-target.c.
References gdb_printf(), ui_file_style::GREEN, string_file::release(), and styled_string().
|
static |
Definition at line 2062 of file amd-dbgapi-target.c.
References all_non_exited_inferiors(), dbgapi_callbacks, get_amd_dbgapi_inferior_info(), get_status_string(), and status.
Referenced by detach_amd_dbgapi().
|
static |
Definition at line 1141 of file amd-dbgapi-target.c.
References amd_dbgapi_debug_printf, event_kind_str(), get_status_string(), process_one_event(), and status.
Referenced by amd_dbgapi_target_breakpoint::check_status(), and amd_dbgapi_target::wait().
|
static |
Definition at line 935 of file amd-dbgapi-target.c.
References add_thread_silent(), reg_buffer::arch(), current_inferior(), find_inferior_pid(), gdbarch_decr_pc_after_break(), get_amd_dbgapi_inferior_info(), get_status_string(), get_thread_regcache(), handle_solib_event(), make_gpu_ptid(), pid, inferior::process_target(), regcache_read_pc(), regcache_write_pc(), set_executing(), set_running(), target_waitstatus::set_stopped(), target_waitstatus::set_thread_exited(), status, and the_amd_dbgapi_target.
Referenced by process_event_queue().
|
static |
Definition at line 344 of file amd-dbgapi-target.c.
References all_inferiors(), get_amd_dbgapi_inferior_info(), inf::pid, and status.
Referenced by amd_dbgapi_target::commit_resumed(), amd_dbgapi_target::resume(), amd_dbgapi_target::stop(), and amd_dbgapi_target::wait().
|
static |
Definition at line 2041 of file amd-dbgapi-target.c.
References get_debug_amd_dbgapi_lib_log_level().
|
static |
Definition at line 1974 of file amd-dbgapi-target.c.
References current_inferior(), get_amd_dbgapi_inferior_info(), set_process_memory_precision(), and value.
|
static |
Definition at line 1352 of file amd-dbgapi-target.c.
References get_status_string(), and status.
Referenced by attach_amd_dbgapi(), and set_precise_memory_mode().
|
static |
Definition at line 2050 of file amd-dbgapi-target.c.
References gdb_printf().
|
static |
Definition at line 1958 of file amd-dbgapi-target.c.
References current_inferior(), gdb_printf(), and get_amd_dbgapi_inferior_info().
|
static |
Referenced by amd_dbgapi_log_message_callback().
|
static |
Referenced by amd_dbgapi_log_message_callback().
|
static |
Definition at line 262 of file amd-dbgapi-target.c.
References status.
Referenced by amd_dbgapi_target::pid_to_str().
|
extern |
Definition at line 2086 of file amd-dbgapi-target.c.
|
static |
Definition at line 257 of file amd-dbgapi-target.c.
Referenced by amd_dbgapi_target::async(), async_event_handler_clear(), async_event_handler_mark(), amd_dbgapi_target::close(), and amd_dbgapi_target::has_pending_events().
|
static |
Definition at line 61 of file amd-dbgapi-target.c.
Referenced by amd_dbgapi_debug_module().
|
static |
Definition at line 55 of file amd-dbgapi-target.c.
Referenced by amd_dbgapi_debug_module().
|
static |
Definition at line 244 of file amd-dbgapi-target.c.
Referenced by get_amd_dbgapi_inferior_info().
|
static |
Definition at line 63 of file amd-dbgapi-target.c.
Referenced by amd_dbgapi_lib_debug_module().
|
static |
Definition at line 56 of file amd-dbgapi-target.c.
Referenced by amd_dbgapi_lib_debug_module().
|
static |
Definition at line 104 of file amd-dbgapi-target.c.
Referenced by get_amd_dbgapi_target_inferior_created_observer_token().
|
static |
Definition at line 169 of file amd-dbgapi-target.c.
Referenced by amd_dbgapi_target::info().
|
static |
Definition at line 1939 of file amd-dbgapi-target.c.
Referenced by maybe_reset_amd_dbgapi().
|
static |
Definition at line 38 of file amd-dbgapi-target.c.
|
static |
Definition at line 2019 of file amd-dbgapi-target.c.
Referenced by get_debug_amd_dbgapi_lib_log_level().
|
staticconstexpr |
Definition at line 2006 of file amd-dbgapi-target.c.
Referenced by get_debug_amd_dbgapi_lib_log_level().
struct cmd_list_element* set_amdgpu_list |
Definition at line 1997 of file amd-dbgapi-target.c.
struct cmd_list_element* set_debug_amd_dbgapi_lib_list |
Definition at line 2001 of file amd-dbgapi-target.c.
struct cmd_list_element* show_amdgpu_list |
Definition at line 1998 of file amd-dbgapi-target.c.
struct cmd_list_element* show_debug_amd_dbgapi_lib_list |
Definition at line 2002 of file amd-dbgapi-target.c.
|
static |
Definition at line 239 of file amd-dbgapi-target.c.
Referenced by amd_dbgapi_inferior_pre_detach(), dbgapi_notifier_handler(), detach_amd_dbgapi(), process_one_event(), and amd_dbgapi_target::wait().