31 #ifndef _RTEMS_DEBUGGER_TARGET_h 32 #define _RTEMS_DEBUGGER_TARGET_h 36 #include <rtems/rtems-debugger.h> 38 #include "rtems-debugger-threads.h" 47 #define RTEMS_DEBUGGER_TARGET_SWBREAK_NUM 64 52 #define RTEMS_DEBUGGER_TARGET_CAP_SWBREAK (1 << 0) 53 #define RTEMS_DEBUGGER_TARGET_CAP_HWBREAK (1 << 1) 54 #define RTEMS_DEBUGGER_TARGET_CAP_HWWATCH (1 << 2) 59 typedef enum rtems_debugger_target_watchpoint
61 rtems_debugger_target_hw_read,
62 rtems_debugger_target_hw_write,
63 rtems_debugger_target_hw_read_write,
64 rtems_debugger_target_hw_execute
65 } rtems_debugger_target_watchpoint;
70 typedef enum rtems_debugger_target_exc_action
72 rtems_debugger_target_exc_consumed,
73 rtems_debugger_target_exc_cascade,
74 rtems_debugger_target_exc_step,
75 } rtems_debugger_target_exc_action;
80 #define RTEMS_DEBUGGER_TARGET_SWBREAK_MAX_SIZE (4) 83 uint8_t contents[RTEMS_DEBUGGER_TARGET_SWBREAK_MAX_SIZE];
96 const size_t* reg_offset;
97 const uint8_t* breakpoint;
98 size_t breakpoint_size;
101 jmp_buf access_return;
107 extern int rtems_debugger_target_create(
void);
112 extern int rtems_debugger_target_destroy(
void);
122 extern int rtems_debugger_target_enable(
void);
127 extern int rtems_debugger_target_disable(
void);
132 extern uint32_t rtems_debugger_target_capabilities(
void);
137 extern size_t rtems_debugger_target_reg_num(
void);
142 extern size_t rtems_debugger_target_reg_size(
size_t reg);
147 extern size_t rtems_debugger_target_reg_offset(
size_t reg);
152 extern size_t rtems_debugger_target_reg_table_size(
void);
202 extern int rtems_debugger_target_swbreak_control(
bool insert,
209 extern int rtems_debugger_target_swbreak_insert(
void);
214 extern int rtems_debugger_target_swbreak_remove(
void);
219 extern int rtems_debugger_target_hwbreak_insert(
void);
224 extern int rtems_debugger_target_hwbreak_remove(
void);
229 extern int rtems_debugger_target_hwbreak_control(rtems_debugger_target_watchpoint type,
237 extern rtems_debugger_target_exc_action
260 extern int rtems_debugger_target_start_memory_access(
void);
265 extern void rtems_debugger_target_end_memory_access(
void);
270 extern bool rtems_debugger_target_is_memory_access(
void);
Definition: rtems-debugger-threads.h:86
Definition: rtems-debugger-target.h:93
Definition: rtems-debugger-block.h:45
The set of registers that specifies the complete processor state.
Definition: cpu.h:629
Definition: rtems-debugger-target.h:81