GDB (xrefs)
|
Go to the source code of this file.
Classes | |
struct | aarch64_debug_reg_state |
Macros | |
#define | AARCH64_HBP_MAX_NUM 16 |
#define | AARCH64_HWP_MAX_NUM 16 |
#define | AARCH64_HBP_ALIGNMENT 4 |
#define | AARCH64_HWP_ALIGNMENT 8 |
#define | AARCH64_HWP_MAX_LEN_PER_REG 8 |
#define | AARCH64_DEBUG_ARCH_V8 0x6 |
#define | AARCH64_DEBUG_ARCH_V8_1 0x7 |
#define | AARCH64_DEBUG_ARCH_V8_2 0x8 |
#define | AARCH64_DEBUG_ARCH_V8_4 0x9 |
#define | AARCH64_DEBUG_ARCH_V8_8 0xa |
#define | AARCH64_DEBUG_ARCH_V8_9 0xb |
#define | DR_CONTROL_ENABLED(ctrl) (((ctrl) & 0x1) == 1) |
#define | DR_CONTROL_MASK(ctrl) (((ctrl) >> 5) & 0xff) |
Functions | |
void | aarch64_notify_debug_reg_change (ptid_t ptid, int is_watchpoint, unsigned int idx) |
unsigned int | aarch64_watchpoint_offset (unsigned int ctrl) |
unsigned int | aarch64_watchpoint_length (unsigned int ctrl) |
int | aarch64_handle_breakpoint (enum target_hw_bp_type type, CORE_ADDR addr, int len, int is_insert, ptid_t ptid, struct aarch64_debug_reg_state *state) |
int | aarch64_handle_watchpoint (enum target_hw_bp_type type, CORE_ADDR addr, int len, int is_insert, ptid_t ptid, struct aarch64_debug_reg_state *state) |
bool | aarch64_any_set_debug_regs_state (aarch64_debug_reg_state *state, bool watchpoint) |
void | aarch64_show_debug_reg_state (struct aarch64_debug_reg_state *state, const char *func, CORE_ADDR addr, int len, enum target_hw_bp_type type) |
int | aarch64_region_ok_for_watchpoint (CORE_ADDR addr, int len) |
Variables | |
int | aarch64_num_bp_regs |
int | aarch64_num_wp_regs |
#define AARCH64_DEBUG_ARCH_V8 0x6 |
Definition at line 57 of file aarch64-hw-point.h.
Referenced by compatible_debug_arch().
#define AARCH64_DEBUG_ARCH_V8_1 0x7 |
Definition at line 58 of file aarch64-hw-point.h.
Referenced by compatible_debug_arch().
#define AARCH64_DEBUG_ARCH_V8_2 0x8 |
Definition at line 59 of file aarch64-hw-point.h.
Referenced by compatible_debug_arch().
#define AARCH64_DEBUG_ARCH_V8_4 0x9 |
Definition at line 60 of file aarch64-hw-point.h.
Referenced by compatible_debug_arch().
#define AARCH64_DEBUG_ARCH_V8_8 0xa |
Definition at line 61 of file aarch64-hw-point.h.
Referenced by compatible_debug_arch().
#define AARCH64_DEBUG_ARCH_V8_9 0xb |
Definition at line 63 of file aarch64-hw-point.h.
Referenced by compatible_debug_arch().
#define AARCH64_HBP_ALIGNMENT 4 |
Definition at line 48 of file aarch64-hw-point.h.
Referenced by aarch64_point_is_aligned().
#define AARCH64_HBP_MAX_NUM 16 |
Definition at line 33 of file aarch64-hw-point.h.
Referenced by aarch64_linux_get_debug_reg_capacity().
#define AARCH64_HWP_ALIGNMENT 8 |
Definition at line 49 of file aarch64-hw-point.h.
Referenced by aarch64_align_watchpoint(), aarch64_downgrade_regs(), and aarch64_point_is_aligned().
#define AARCH64_HWP_MAX_LEN_PER_REG 8 |
Definition at line 54 of file aarch64-hw-point.h.
Referenced by aarch64_align_watchpoint(), aarch64_point_encode_ctrl_reg(), and aarch64_region_ok_for_watchpoint().
#define AARCH64_HWP_MAX_NUM 16 |
Definition at line 34 of file aarch64-hw-point.h.
Referenced by aarch64_linux_get_debug_reg_capacity().
#define DR_CONTROL_ENABLED | ( | ctrl | ) | (((ctrl) & 0x1) == 1) |
Definition at line 74 of file aarch64-hw-point.h.
Referenced by aarch64_stopped_data_address().
#define DR_CONTROL_MASK | ( | ctrl | ) | (((ctrl) >> 5) & 0xff) |
Definition at line 75 of file aarch64-hw-point.h.
Referenced by aarch64_watchpoint_length(), and aarch64_watchpoint_offset().
bool aarch64_any_set_debug_regs_state | ( | aarch64_debug_reg_state * | state, |
bool | watchpoint ) |
Definition at line 535 of file aarch64-hw-point.c.
References 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, and aarch64_debug_reg_state::dr_ctrl_wp.
Referenced by aarch64_linux_new_thread().
int aarch64_handle_breakpoint | ( | enum target_hw_bp_type | type, |
CORE_ADDR | addr, | ||
int | len, | ||
int | is_insert, | ||
ptid_t | ptid, | ||
struct aarch64_debug_reg_state * | state ) |
Definition at line 420 of file aarch64-hw-point.c.
References aarch64_dr_state_insert_one_point(), aarch64_dr_state_remove_one_point(), aarch64_point_is_aligned(), and regcache::ptid().
Referenced by aarch64_insert_hw_breakpoint(), and aarch64_remove_hw_breakpoint().
int aarch64_handle_watchpoint | ( | enum target_hw_bp_type | type, |
CORE_ADDR | addr, | ||
int | len, | ||
int | is_insert, | ||
ptid_t | ptid, | ||
struct aarch64_debug_reg_state * | state ) |
Definition at line 520 of file aarch64-hw-point.c.
References aarch64_handle_aligned_watchpoint(), aarch64_handle_unaligned_watchpoint(), aarch64_point_is_aligned(), and regcache::ptid().
Referenced by aarch64_insert_watchpoint(), and aarch64_remove_watchpoint().
void aarch64_notify_debug_reg_change | ( | ptid_t | ptid, |
int | is_watchpoint, | ||
unsigned int | idx ) |
Definition at line 347 of file aarch64-fbsd-nat.c.
References debug_reg_change_callback(), is_watchpoint(), and iterate_over_lwps().
Referenced by aarch64_downgrade_regs(), aarch64_dr_state_insert_one_point(), and aarch64_dr_state_remove_one_point().
int aarch64_region_ok_for_watchpoint | ( | CORE_ADDR | addr, |
int | len ) |
Definition at line 590 of file aarch64-hw-point.c.
References AARCH64_HWP_MAX_LEN_PER_REG, and aarch64_num_wp_regs.
Referenced by aarch64_nat_target< BaseTarget >::region_ok_for_hw_watchpoint().
void aarch64_show_debug_reg_state | ( | struct aarch64_debug_reg_state * | state, |
const char * | func, | ||
CORE_ADDR | addr, | ||
int | len, | ||
enum target_hw_bp_type | type ) |
Definition at line 555 of file aarch64-hw-point.c.
References aarch64_num_bp_regs, aarch64_num_wp_regs, aarch64_debug_reg_state::dr_addr_bp, aarch64_debug_reg_state::dr_addr_orig_wp, aarch64_debug_reg_state::dr_addr_wp, aarch64_debug_reg_state::dr_ctrl_bp, aarch64_debug_reg_state::dr_ctrl_wp, aarch64_debug_reg_state::dr_ref_count_bp, aarch64_debug_reg_state::dr_ref_count_wp, and func.
Referenced by aarch64_insert_hw_breakpoint(), aarch64_insert_watchpoint(), aarch64_remove_hw_breakpoint(), and aarch64_remove_watchpoint().
unsigned int aarch64_watchpoint_length | ( | unsigned int | ctrl | ) |
Definition at line 57 of file aarch64-hw-point.c.
References aarch64_watchpoint_offset(), and DR_CONTROL_MASK.
Referenced by aarch64_stopped_data_address().
unsigned int aarch64_watchpoint_offset | ( | unsigned int | ctrl | ) |
Definition at line 39 of file aarch64-hw-point.c.
References DR_CONTROL_MASK.
Referenced by aarch64_stopped_data_address(), and aarch64_watchpoint_length().
|
extern |
Definition at line 33 of file aarch64-hw-point.c.
Referenced by aarch64_any_set_debug_regs_state(), aarch64_can_use_hw_breakpoint(), aarch64_dr_state_insert_one_point(), aarch64_dr_state_remove_one_point(), aarch64_linux_get_debug_reg_capacity(), aarch64_linux_new_thread(), aarch64_linux_set_debug_regs(), aarch64_show_debug_reg_state(), and debug_reg_change_callback().
|
extern |
Definition at line 34 of file aarch64-hw-point.c.
Referenced by aarch64_any_set_debug_regs_state(), aarch64_can_use_hw_breakpoint(), aarch64_downgrade_regs(), aarch64_dr_state_insert_one_point(), aarch64_dr_state_remove_one_point(), aarch64_linux_get_debug_reg_capacity(), aarch64_linux_new_thread(), aarch64_linux_set_debug_regs(), aarch64_region_ok_for_watchpoint(), aarch64_show_debug_reg_state(), aarch64_stopped_data_address(), and debug_reg_change_callback().