diff options
Diffstat (limited to 'cpukit/libdebugger/rtems-debugger-target.h')
-rw-r--r-- | cpukit/libdebugger/rtems-debugger-target.h | 30 |
1 files changed, 27 insertions, 3 deletions
diff --git a/cpukit/libdebugger/rtems-debugger-target.h b/cpukit/libdebugger/rtems-debugger-target.h index 0e1156c889..f2abbe5fd3 100644 --- a/cpukit/libdebugger/rtems-debugger-target.h +++ b/cpukit/libdebugger/rtems-debugger-target.h @@ -85,11 +85,15 @@ typedef struct rtems_debugger_target_swbreak { /** * The target data. + * + * reg_offset: Table of size_t offset of a register in the register + * table. The table has one more entry than reg_num where + * the last entry is the size of the register table. */ typedef struct rtems_debugger_target { int capabilities; /*<< The capabilities to report. */ size_t reg_num; /*<< The number of registers. */ - size_t reg_size; /*<< The size of a register. */ + const size_t* reg_offset; /*<< The reg offsettable, len = reg_num + 1. */ const uint8_t* breakpoint; /*<< The breakpoint instruction(s). */ size_t breakpoint_size; /*<< The breakpoint size. */ rtems_debugger_block swbreaks; /*<< The software breakpoint block. */ @@ -133,9 +137,19 @@ extern uint32_t rtems_debugger_target_capabilities(void); extern size_t rtems_debugger_target_reg_num(void); /** - * Return the size of the regisers in bytes. + * Return the offset of a register in the register table. + */ +extern size_t rtems_debugger_target_reg_size(size_t reg); + +/** + * Return the offset of a register in the register table. + */ +extern size_t rtems_debugger_target_reg_offset(size_t reg); + +/** + * Return the size of register table. */ -extern size_t rtems_debugger_target_reg_size(void); +extern size_t rtems_debugger_target_reg_table_size(void); /** * Read the regosters. @@ -178,6 +192,11 @@ extern int rtems_debugger_target_thread_stepping(rtems_debugger_thread* thread); extern int rtems_debugger_target_exception_to_signal(CPU_Exception_frame* frame); /** + * Print the target exception registers. + */ +extern void rtems_debugger_target_exception_print(CPU_Exception_frame* frame); + +/** * Software breakpoints. These are also referred to as memory breakpoints. */ extern int rtems_debugger_target_swbreak_control(bool insert, @@ -245,6 +264,11 @@ extern int rtems_debugger_target_start_memory_access(void); */ extern void rtems_debugger_target_end_memory_access(void); +/** + * Is this a target memory access? + */ +extern bool rtems_debugger_target_is_memory_access(void); + #ifdef __cplusplus } #endif /* __cplusplus */ |