RTEMS 6.1-rc6
|
MicroBlaze libdebugger implementation. More...
#include <errno.h>
#include <inttypes.h>
#include <stdlib.h>
#include <rtems.h>
#include <rtems/score/cpu.h>
#include <rtems/score/threadimpl.h>
#include <rtems/score/userextimpl.h>
#include <rtems/debugger/rtems-debugger-bsp.h>
#include "rtems-debugger-target.h"
#include "rtems-debugger-threads.h"
Data Structures | |
struct | microblaze_soft_step |
Macros | |
#define | TARGET_DEBUG 0 |
#define | RTEMS_DEBUGGER_NUMREGS 57 |
#define | RTEMS_DEBUGGER_REG_BYTES 4 |
#define | REG_R0 0 |
#define | REG_R1 1 |
#define | REG_R2 2 |
#define | REG_R3 3 |
#define | REG_R4 4 |
#define | REG_R5 5 |
#define | REG_R6 6 |
#define | REG_R7 7 |
#define | REG_R8 8 |
#define | REG_R9 9 |
#define | REG_R10 10 |
#define | REG_R11 11 |
#define | REG_R12 12 |
#define | REG_R13 13 |
#define | REG_R14 14 |
#define | REG_R15 15 |
#define | REG_R16 16 |
#define | REG_R17 17 |
#define | REG_R18 18 |
#define | REG_R19 19 |
#define | REG_R20 20 |
#define | REG_R21 21 |
#define | REG_R22 22 |
#define | REG_R23 23 |
#define | REG_R24 24 |
#define | REG_R25 25 |
#define | REG_R26 26 |
#define | REG_R27 27 |
#define | REG_R28 28 |
#define | REG_R29 29 |
#define | REG_R30 30 |
#define | REG_R31 31 |
#define | REG_PC 32 |
#define | REG_MS 33 |
#define | REG_EA 34 |
#define | REG_ES 35 |
#define | REG_FS 36 |
#define | REG_BT 37 |
#define | REG_PV0 38 |
#define | REG_PV1 39 |
#define | REG_PV2 40 |
#define | REG_PV3 41 |
#define | REG_PV4 42 |
#define | REG_PV5 43 |
#define | REG_PV6 44 |
#define | REG_PV7 45 |
#define | REG_PV8 46 |
#define | REG_PV9 47 |
#define | REG_PV10 48 |
#define | REG_PV11 49 |
#define | REG_ED 50 |
#define | REG_PID 51 |
#define | REG_ZP 52 |
#define | REG_TBLX 53 |
#define | REG_TBLSX 54 |
#define | REG_TBLLO 55 |
#define | REG_TBLHI 56 |
#define | RTEMS_DEBUGGER_NUMREGBYTES microblaze_reg_offsets[ RTEMS_DEBUGGER_NUMREGS ] |
#define | EXC_FRAME_PRINT(_out, _prefix, _frame) |
#define | target_printk(_fmt, ...) |
#define | IGROUP_MASK 0x3f |
#define | REGISTER_MASK 0x1f |
#define | IMM16_MASK 0xffff |
#define | IMM24_MASK 0xffffff |
#define | IMM_GROUP 0x2c |
#define | RETURN_GROUP 0x2d |
#define | UBRANCH_GROUP 0x26 |
#define | CBRANCH_GROUP 0x27 |
#define | UIBRANCH_GROUP 0x2e |
#define | CIBRANCH_GROUP 0x2f |
#define | BRK_RA 0xC |
Variables | |
char | bsp_section_text_begin [] |
char | bsp_section_text_end [] |
char | bsp_section_fast_text_begin [] |
char | bsp_section_fast_text_end [] |
microblaze_soft_step | next_soft_break = { 0 } |
microblaze_soft_step | target_soft_break = { 0 } |
User_extensions_Control | mb_ext |
MicroBlaze libdebugger implementation.
#define EXC_FRAME_PRINT | ( | _out, | |
_prefix, | |||
_frame | |||
) |
Print the exception frame.
int rtems_debugger_target_cache_sync | ( | rtems_debugger_target_swbreak * | swbreak | ) |
Target instruction cache sync. This depends on the target but it normally means a data cache flush and an instruction cache invalidate.
int rtems_debugger_target_configure | ( | rtems_debugger_target * | target | ) |
Configure the target. This is architecture specific.
int rtems_debugger_target_disable | ( | void | ) |
Disable the target.
int rtems_debugger_target_enable | ( | void | ) |
Enable the target.
void rtems_debugger_target_exception_print | ( | CPU_Exception_frame * | frame | ) |
Print the target exception registers.
int rtems_debugger_target_exception_to_signal | ( | CPU_Exception_frame * | frame | ) |
Return the signal for the exception.
uintptr_t rtems_debugger_target_frame_pc | ( | CPU_Exception_frame * | frame | ) |
Return the frame's program counter (PC).
int rtems_debugger_target_hwbreak_control | ( | rtems_debugger_target_watchpoint | type, |
bool | insert, | ||
uintptr_t | addr, | ||
DB_UINT | kind | ||
) |
Hardware breakpoints.
int rtems_debugger_target_hwbreak_insert | ( | void | ) |
Insert hardware breakpoints into the hardware.
int rtems_debugger_target_hwbreak_remove | ( | void | ) |
Remove hardware breakpoints from the hardware.
int rtems_debugger_target_read_regs | ( | rtems_debugger_thread * | thread | ) |
Read the regosters.
uintptr_t rtems_debugger_target_reg_pc | ( | rtems_debugger_thread * | thread | ) |
Return the thread's program counter (PC).
uintptr_t rtems_debugger_target_reg_sp | ( | rtems_debugger_thread * | thread | ) |
Return the thread's stack pointer (SP).
uintptr_t rtems_debugger_target_tcb_sp | ( | rtems_debugger_thread * | thread | ) |
Return the thread's TCB stack pointer (SP).
int rtems_debugger_target_thread_stepping | ( | rtems_debugger_thread * | thread | ) |
The thread is stepping. Setup the thread to step an instruction.
int rtems_debugger_target_write_regs | ( | rtems_debugger_thread * | thread | ) |
Write the regosters.
User_extensions_Control mb_ext |