GDBserver
|
#include "gdbsupport/common-defs.h"
#include "gdbsupport/break-common.h"
#include "gdbsupport/common-regcache.h"
#include "nat/linux-nat.h"
#include "aarch64-linux-hw-point.h"
#include <sys/uio.h>
#include <sys/ptrace.h>
#include <asm/ptrace.h>
#include <elf.h>
Go to the source code of this file.
Functions | |
static int | debug_reg_change_callback (struct lwp_info *lwp, int is_watchpoint, unsigned int idx) |
void | aarch64_notify_debug_reg_change (ptid_t ptid, int is_watchpoint, unsigned int idx) |
static void | aarch64_downgrade_regs (struct aarch64_debug_reg_state *state) |
void | aarch64_linux_set_debug_regs (struct aarch64_debug_reg_state *state, int tid, int watchpoint) |
static bool | compatible_debug_arch (unsigned int debug_arch) |
void | aarch64_linux_get_debug_reg_capacity (int tid) |
Variables | |
bool | kernel_supports_any_contiguous_range = true |
|
static |
Definition at line 130 of file aarch64-linux-hw-point.c.
References AARCH64_HWP_ALIGNMENT, aarch64_notify_debug_reg_change(), aarch64_num_wp_regs, current_lwp_ptid(), aarch64_debug_reg_state::dr_addr_orig_wp, aarch64_debug_reg_state::dr_addr_wp, aarch64_debug_reg_state::dr_ctrl_wp, and aarch64_debug_reg_state::dr_ref_count_wp.
Referenced by aarch64_linux_set_debug_regs().
void aarch64_linux_get_debug_reg_capacity | ( | int | tid | ) |
Definition at line 247 of file aarch64-linux-hw-point.c.
References AARCH64_DEBUG_ARCH, AARCH64_DEBUG_NUM_SLOTS, AARCH64_HBP_MAX_NUM, AARCH64_HWP_MAX_NUM, aarch64_num_bp_regs, aarch64_num_wp_regs, compatible_debug_arch(), ptrace, and PTRACE_GETREGSET.
void aarch64_linux_set_debug_regs | ( | struct aarch64_debug_reg_state * | state, |
int | tid, | ||
int | watchpoint ) |
Definition at line 179 of file aarch64-linux-hw-point.c.
References aarch64_downgrade_regs(), aarch64_linux_set_debug_regs(), aarch64_num_bp_regs, aarch64_num_wp_regs, aarch64_debug_reg_state::dr_addr_bp, aarch64_debug_reg_state::dr_addr_wp, aarch64_debug_reg_state::dr_ctrl_bp, aarch64_debug_reg_state::dr_ctrl_wp, kernel_supports_any_contiguous_range, ptrace, and PTRACE_SETREGSET.
Referenced by aarch64_linux_prepare_to_resume(), and aarch64_linux_set_debug_regs().
void aarch64_notify_debug_reg_change | ( | ptid_t | ptid, |
int | is_watchpoint, | ||
unsigned int | idx ) |
Definition at line 106 of file aarch64-linux-hw-point.c.
References debug_reg_change_callback(), and iterate_over_lwps().
Referenced by aarch64_downgrade_regs(), aarch64_dr_state_insert_one_point(), and aarch64_dr_state_remove_one_point().
|
static |
Definition at line 225 of file aarch64-linux-hw-point.c.
References AARCH64_DEBUG_ARCH_V8, AARCH64_DEBUG_ARCH_V8_1, AARCH64_DEBUG_ARCH_V8_2, AARCH64_DEBUG_ARCH_V8_4, AARCH64_DEBUG_ARCH_V8_8, and AARCH64_DEBUG_ARCH_V8_9.
Referenced by aarch64_linux_get_debug_reg_capacity().
|
static |
Definition at line 48 of file aarch64-linux-hw-point.c.
References aarch64_num_bp_regs, aarch64_num_wp_regs, arch_lwp_info::dr_changed_bp, arch_lwp_info::dr_changed_wp, DR_MARK_N_CHANGED, linux_stop_lwp(), lwp_arch_private_info(), lwp_is_stopped(), lwp_set_arch_private_info(), and ptid_of_lwp().
Referenced by aarch64_notify_debug_reg_change().
bool kernel_supports_any_contiguous_range = true |
Definition at line 39 of file aarch64-linux-hw-point.c.
Referenced by aarch64_linux_set_debug_regs().