OpenOCD
|
Go to the source code of this file.
Data Structures | |
struct | mips64_pracc_context |
Macros | |
#define | STACK_DEPTH 32 |
Functions | |
int | mips64_pracc_exec (struct mips_ejtag *ejtag_info, unsigned code_len, const uint32_t *code, unsigned num_param_in, uint64_t *param_in, unsigned num_param_out, uint64_t *param_out) |
static int | mips64_pracc_exec_read (struct mips64_pracc_context *ctx, uint64_t address) |
static int | mips64_pracc_exec_write (struct mips64_pracc_context *ctx, uint64_t address) |
int | mips64_pracc_fastdata_xfer (struct mips_ejtag *ejtag_info, struct working_area *source, bool write_t, uint64_t addr, unsigned count, uint64_t *buf) |
int | mips64_pracc_read_mem (struct mips_ejtag *ejtag_info, uint64_t addr, unsigned size, unsigned count, void *buf) |
static int | mips64_pracc_read_mem16 (struct mips_ejtag *ejtag_info, uint64_t addr, unsigned count, uint16_t *buf) |
static int | mips64_pracc_read_mem32 (struct mips_ejtag *ejtag_info, uint64_t addr, unsigned count, uint32_t *buf) |
static int | mips64_pracc_read_mem64 (struct mips_ejtag *ejtag_info, uint64_t addr, unsigned count, uint64_t *buf) |
static int | mips64_pracc_read_mem8 (struct mips_ejtag *ejtag_info, uint64_t addr, unsigned count, uint8_t *buf) |
int | mips64_pracc_read_regs (struct mips_ejtag *ejtag_info, uint64_t *regs) |
static int | mips64_pracc_read_u16 (struct mips_ejtag *ejtag_info, uint64_t addr, uint16_t *buf) |
static int | mips64_pracc_read_u32 (struct mips_ejtag *ejtag_info, uint64_t addr, uint32_t *buf) |
static int | mips64_pracc_read_u64 (struct mips_ejtag *ejtag_info, uint64_t addr, uint64_t *buf) |
static int | mips64_pracc_read_u8 (struct mips_ejtag *ejtag_info, uint64_t addr, uint8_t *buf) |
int | mips64_pracc_write_mem (struct mips_ejtag *ejtag_info, uint64_t addr, unsigned size, unsigned count, void *buf) |
static int | mips64_pracc_write_mem16 (struct mips_ejtag *ejtag_info, uint64_t addr, unsigned count, uint16_t *buf) |
static int | mips64_pracc_write_mem32 (struct mips_ejtag *ejtag_info, uint64_t addr, unsigned count, uint32_t *buf) |
static int | mips64_pracc_write_mem64 (struct mips_ejtag *ejtag_info, uint64_t addr, unsigned count, uint64_t *buf) |
static int | mips64_pracc_write_mem8 (struct mips_ejtag *ejtag_info, uint64_t addr, unsigned count, uint8_t *buf) |
int | mips64_pracc_write_regs (struct mips_ejtag *ejtag_info, uint64_t *regs) |
static int | mips64_pracc_write_u16 (struct mips_ejtag *ejtag_info, uint64_t addr, uint16_t *buf) |
static int | mips64_pracc_write_u32 (struct mips_ejtag *ejtag_info, uint64_t addr, uint32_t *buf) |
static int | mips64_pracc_write_u64 (struct mips_ejtag *ejtag_info, uint64_t addr, uint64_t *buf) |
static int | mips64_pracc_write_u8 (struct mips_ejtag *ejtag_info, uint64_t addr, uint8_t *buf) |
static int | wait_for_pracc_rw (struct mips_ejtag *ejtag_info, uint32_t *ctrl) |
#define STACK_DEPTH 32 |
Definition at line 26 of file mips64_pracc.c.
int mips64_pracc_exec | ( | struct mips_ejtag * | ejtag_info, |
unsigned | code_len, | ||
const uint32_t * | code, | ||
unsigned | num_param_in, | ||
uint64_t * | param_in, | ||
unsigned | num_param_out, | ||
uint64_t * | param_out | ||
) |
Definition at line 211 of file mips64_pracc.c.
References mips64_pracc_context::code, mips64_pracc_context::code_len, mips_ejtag::ejtag_ctrl, EJTAG_CTRL_PRNW, mips64_pracc_context::ejtag_info, EJTAG_INST_ADDRESS, ERROR_FAIL, ERROR_JTAG_DEVICE_ERROR, ERROR_OK, mips64_pracc_context::local_iparam, mips64_pracc_context::local_oparam, LOG_DEBUG, LOG_ERROR, mips64_pracc_exec_read(), mips64_pracc_exec_write(), MIPS64_PRACC_TEXT, mips_ejtag_drscan_32(), mips_ejtag_set_instr(), mips64_pracc_context::num_iparam, mips64_pracc_context::num_oparam, mips64_pracc_context::stack_offset, TARGET_ADDR_FMT, and wait_for_pracc_rw().
Referenced by mips64_ejtag_config_step(), mips64_ejtag_exit_debug(), mips64_pracc_fastdata_xfer(), mips64_pracc_read_regs(), mips64_pracc_read_u16(), mips64_pracc_read_u32(), mips64_pracc_read_u64(), mips64_pracc_read_u8(), mips64_pracc_write_regs(), mips64_pracc_write_u16(), mips64_pracc_write_u32(), mips64_pracc_write_u64(), and mips64_pracc_write_u8().
|
static |
Definition at line 65 of file mips64_pracc.c.
References mips64_pracc_context::code, mips64_pracc_context::code_len, mips_ejtag::ejtag_ctrl, EJTAG_CTRL_PRACC, mips64_pracc_context::ejtag_info, EJTAG_INST_CONTROL, EJTAG_INST_DATA, ERROR_JTAG_DEVICE_ERROR, ERROR_OK, jtag_add_clocks(), jtag_execute_queue(), mips64_pracc_context::local_iparam, mips64_pracc_context::local_oparam, LOG_DEBUG, LOG_ERROR, MIPS64_PRACC_ADDR_STEP, MIPS64_PRACC_DATA_STEP, MIPS64_PRACC_PARAM_IN, MIPS64_PRACC_PARAM_IN_SIZE, MIPS64_PRACC_PARAM_OUT, MIPS64_PRACC_STACK, MIPS64_PRACC_TEXT, mips_ejtag_drscan_32(), mips_ejtag_drscan_64(), mips_ejtag_set_instr(), offset, mips64_pracc_context::stack, and mips64_pracc_context::stack_offset.
Referenced by mips64_pracc_exec().
|
static |
Definition at line 153 of file mips64_pracc.c.
References mips_ejtag::ejtag_ctrl, EJTAG_CTRL_PRACC, mips64_pracc_context::ejtag_info, EJTAG_INST_CONTROL, EJTAG_INST_DATA, ERROR_FAIL, ERROR_JTAG_DEVICE_ERROR, ERROR_OK, jtag_add_clocks(), jtag_execute_queue(), mips64_pracc_context::local_iparam, mips64_pracc_context::local_oparam, LOG_DEBUG, LOG_ERROR, MIPS64_PRACC_DATA_STEP, MIPS64_PRACC_PARAM_IN, MIPS64_PRACC_PARAM_OUT, MIPS64_PRACC_STACK, mips_ejtag_drscan_32(), mips_ejtag_drscan_64(), mips_ejtag_set_instr(), offset, mips64_pracc_context::stack, STACK_DEPTH, and mips64_pracc_context::stack_offset.
Referenced by mips64_pracc_exec().
int mips64_pracc_fastdata_xfer | ( | struct mips_ejtag * | ejtag_info, |
struct working_area * | source, | ||
bool | write_t, | ||
uint64_t | addr, | ||
unsigned | count, | ||
uint64_t * | buf | ||
) |
Definition at line 1270 of file mips64_pracc.c.
References adapter_get_speed_khz(), addr, ARRAY_SIZE, count, mips64_pracc_context::ejtag_info, EJTAG_INST_ADDRESS, EJTAG_INST_FASTDATA, ERROR_FAIL, ERROR_OK, ERROR_TARGET_RESOURCE_NOT_AVAILABLE, mips_ejtag::fast_access_save, jtag_add_clocks(), jtag_execute_queue(), LOG_DEBUG, LOG_ERROR, LOWER16, MIPS64_BNE, MIPS64_DADDIU, MIPS64_DMFC0, mips64_ejtag_fastdata_scan(), MIPS64_FASTDATA_HANDLER_SIZE, MIPS64_JR, MIPS64_LD, MIPS64_LUI, MIPS64_NOP, MIPS64_ORI, mips64_pracc_exec(), MIPS64_PRACC_FASTDATA_AREA, MIPS64_PRACC_TEXT, mips64_pracc_write_mem(), MIPS64_SD, mips_ejtag_drscan_32(), mips_ejtag_set_instr(), mips_ejtag::mode, NEG16, NULL, mips_ejtag::scan_delay, source, TARGET_ADDR_FMT, UPPER16, and wait_for_pracc_rw().
Referenced by mips_mips64_bulk_write_memory().
int mips64_pracc_read_mem | ( | struct mips_ejtag * | ejtag_info, |
uint64_t | addr, | ||
unsigned | size, | ||
unsigned | count, | ||
void * | buf | ||
) |
Definition at line 549 of file mips64_pracc.c.
References addr, count, mips64_pracc_context::ejtag_info, ERROR_FAIL, mips64_pracc_read_mem16(), mips64_pracc_read_mem32(), mips64_pracc_read_mem64(), mips64_pracc_read_mem8(), and size.
Referenced by mips_mips64_read_memory().
|
static |
Definition at line 476 of file mips64_pracc.c.
References addr, count, mips64_pracc_context::ejtag_info, ERROR_OK, and mips64_pracc_read_u16().
Referenced by mips64_pracc_read_mem().
|
static |
Definition at line 416 of file mips64_pracc.c.
References addr, count, mips64_pracc_context::ejtag_info, ERROR_OK, and mips64_pracc_read_u32().
Referenced by mips64_pracc_read_mem().
|
static |
Definition at line 356 of file mips64_pracc.c.
References addr, count, mips64_pracc_context::ejtag_info, ERROR_OK, and mips64_pracc_read_u64().
Referenced by mips64_pracc_read_mem().
|
static |
Definition at line 536 of file mips64_pracc.c.
References addr, count, mips64_pracc_context::ejtag_info, ERROR_OK, and mips64_pracc_read_u8().
Referenced by mips64_pracc_read_mem().
int mips64_pracc_read_regs | ( | struct mips_ejtag * | ejtag_info, |
uint64_t * | regs | ||
) |
Definition at line 1037 of file mips64_pracc.c.
References ARRAY_SIZE, mips64_pracc_context::code, mips64_pracc_context::ejtag_info, LOG_DEBUG, LOWER16, MIPS64_ANDI, MIPS64_B, MIPS64_BEQ, MIPS64_C0_BADVADDR, MIPS64_C0_CACHERR, MIPS64_C0_CAUSE, MIPS64_C0_COMPARE, MIPS64_C0_CONFIG, MIPS64_C0_CONTEXT, MIPS64_C0_COUNT, MIPS64_C0_DATAHI, MIPS64_C0_DEBUG, MIPS64_C0_DEPC, MIPS64_C0_ECC, MIPS64_C0_EEPC, MIPS64_C0_ENTRYHI, MIPS64_C0_ENTRYLO0, MIPS64_C0_ENTRYLO1, MIPS64_C0_EPC, MIPS64_C0_LLA, MIPS64_C0_MEMCTRL, MIPS64_C0_PAGEMASK, MIPS64_C0_PERFCOUNT, MIPS64_C0_PRID, MIPS64_C0_RANDOM, MIPS64_C0_STATUS, MIPS64_C0_TAGHI, MIPS64_C0_TAGLO, MIPS64_C0_WIRED, MIPS64_C0_XCONTEXT, MIPS64_C1_FCCR, MIPS64_C1_FCONFIG, MIPS64_C1_FCSR, MIPS64_C1_FENR, MIPS64_C1_FEXR, MIPS64_C1_FIR, MIPS64_CFC1, MIPS64_DMFC0, MIPS64_DMFC1, MIPS64_DMTC0, MIPS64_LD, MIPS64_LUI, MIPS64_MFC0, MIPS64_MFHI, MIPS64_MFLO, MIPS64_NOP, MIPS64_NUM_CORE_C0_REGS, MIPS64_NUM_CORE_REGS, MIPS64_NUM_REGS, MIPS64_ORI, mips64_pracc_exec(), MIPS64_PRACC_PARAM_OUT, MIPS64_PRACC_STACK, MIPS64_SD, MIPS64_SRL, MIPS64_SYNC, NEG16, NULL, regs, and UPPER16.
Referenced by mips64_save_context().
|
static |
Definition at line 429 of file mips64_pracc.c.
References addr, ARRAY_SIZE, mips64_pracc_context::code, mips64_pracc_context::ejtag_info, LOG_DEBUG, LOWER16, MIPS64_B, MIPS64_DMFC0, MIPS64_DMTC0, MIPS64_LD, MIPS64_LHU, MIPS64_LUI, MIPS64_NOP, MIPS64_ORI, mips64_pracc_exec(), MIPS64_PRACC_PARAM_IN, MIPS64_PRACC_PARAM_OUT, MIPS64_PRACC_STACK, MIPS64_SD, MIPS64_SYNC, NEG16, and UPPER16.
Referenced by mips64_pracc_read_mem16().
|
static |
Definition at line 369 of file mips64_pracc.c.
References addr, ARRAY_SIZE, mips64_pracc_context::code, mips64_pracc_context::ejtag_info, ERROR_OK, LOG_DEBUG, LOWER16, MIPS64_B, MIPS64_DMFC0, MIPS64_DMTC0, MIPS64_LD, MIPS64_LUI, MIPS64_LW, MIPS64_NOP, MIPS64_ORI, mips64_pracc_exec(), MIPS64_PRACC_PARAM_IN, MIPS64_PRACC_PARAM_OUT, MIPS64_PRACC_STACK, MIPS64_SD, MIPS64_SYNC, NEG16, and UPPER16.
Referenced by mips64_pracc_read_mem32().
|
static |
Definition at line 314 of file mips64_pracc.c.
References addr, ARRAY_SIZE, mips64_pracc_context::code, mips64_pracc_context::ejtag_info, LOG_DEBUG, LOWER16, MIPS64_B, MIPS64_DMFC0, MIPS64_DMTC0, MIPS64_LD, MIPS64_LUI, MIPS64_NOP, MIPS64_ORI, mips64_pracc_exec(), MIPS64_PRACC_PARAM_IN, MIPS64_PRACC_PARAM_OUT, MIPS64_PRACC_STACK, MIPS64_SD, MIPS64_SYNC, NEG16, and UPPER16.
Referenced by mips64_pracc_read_mem64().
|
static |
Definition at line 489 of file mips64_pracc.c.
References addr, ARRAY_SIZE, mips64_pracc_context::code, mips64_pracc_context::ejtag_info, LOG_DEBUG, LOWER16, MIPS64_B, MIPS64_DMFC0, MIPS64_DMTC0, MIPS64_LBU, MIPS64_LD, MIPS64_LUI, MIPS64_NOP, MIPS64_ORI, mips64_pracc_exec(), MIPS64_PRACC_PARAM_IN, MIPS64_PRACC_PARAM_OUT, MIPS64_PRACC_STACK, MIPS64_SD, MIPS64_SYNC, NEG16, and UPPER16.
Referenced by mips64_pracc_read_mem8().
int mips64_pracc_write_mem | ( | struct mips_ejtag * | ejtag_info, |
uint64_t | addr, | ||
unsigned | size, | ||
unsigned | count, | ||
void * | buf | ||
) |
Definition at line 810 of file mips64_pracc.c.
References addr, count, mips64_pracc_context::ejtag_info, ERROR_FAIL, mips64_pracc_write_mem16(), mips64_pracc_write_mem32(), mips64_pracc_write_mem64(), mips64_pracc_write_mem8(), and size.
Referenced by mips64_pracc_fastdata_xfer(), and mips_mips64_write_memory().
|
static |
Definition at line 736 of file mips64_pracc.c.
References addr, count, mips64_pracc_context::ejtag_info, ERROR_OK, and mips64_pracc_write_u16().
Referenced by mips64_pracc_write_mem().
|
static |
Definition at line 676 of file mips64_pracc.c.
References addr, count, mips64_pracc_context::ejtag_info, ERROR_OK, and mips64_pracc_write_u32().
Referenced by mips64_pracc_write_mem().
|
static |
Definition at line 614 of file mips64_pracc.c.
References addr, count, mips64_pracc_context::ejtag_info, ERROR_OK, and mips64_pracc_write_u64().
Referenced by mips64_pracc_write_mem().
|
static |
Definition at line 797 of file mips64_pracc.c.
References addr, count, mips64_pracc_context::ejtag_info, ERROR_OK, and mips64_pracc_write_u8().
Referenced by mips64_pracc_write_mem().
int mips64_pracc_write_regs | ( | struct mips_ejtag * | ejtag_info, |
uint64_t * | regs | ||
) |
Definition at line 827 of file mips64_pracc.c.
References ARRAY_SIZE, mips64_pracc_context::code, mips64_pracc_context::ejtag_info, LOG_DEBUG, LOWER16, MIPS64_ANDI, MIPS64_B, MIPS64_BEQ, MIPS64_C0_CACHERR, MIPS64_C0_CAUSE, MIPS64_C0_COMPARE, MIPS64_C0_CONFIG, MIPS64_C0_CONTEXT, MIPS64_C0_COUNT, MIPS64_C0_DATAHI, MIPS64_C0_DEPC, MIPS64_C0_ECC, MIPS64_C0_EEPC, MIPS64_C0_ENTRYHI, MIPS64_C0_ENTRYLO0, MIPS64_C0_ENTRYLO1, MIPS64_C0_EPC, MIPS64_C0_LLA, MIPS64_C0_MEMCTRL, MIPS64_C0_PAGEMASK, MIPS64_C0_PERFCOUNT, MIPS64_C0_STATUS, MIPS64_C0_TAGHI, MIPS64_C0_TAGLO, MIPS64_C0_WIRED, MIPS64_C0_XCONTEXT, MIPS64_C1_FCCR, MIPS64_C1_FCONFIG, MIPS64_C1_FCSR, MIPS64_C1_FENR, MIPS64_C1_FEXR, MIPS64_C1_FIR, MIPS64_CTC1, MIPS64_DMFC0, MIPS64_DMTC0, MIPS64_DMTC1, MIPS64_LD, MIPS64_LUI, MIPS64_MFC0, MIPS64_MTC0, MIPS64_MTHI, MIPS64_MTLO, MIPS64_NOP, MIPS64_NUM_CORE_C0_REGS, MIPS64_NUM_CORE_REGS, MIPS64_NUM_REGS, MIPS64_ORI, mips64_pracc_exec(), MIPS64_PRACC_PARAM_IN, MIPS64_PRACC_STACK, MIPS64_SD, MIPS64_SRL, MIPS64_SYNC, NEG16, NULL, regs, and UPPER16.
Referenced by mips64_restore_context().
|
static |
Definition at line 689 of file mips64_pracc.c.
References addr, ARRAY_SIZE, mips64_pracc_context::code, mips64_pracc_context::ejtag_info, LOG_DEBUG, LOWER16, MIPS64_B, MIPS64_DMFC0, MIPS64_DMTC0, MIPS64_LD, MIPS64_LUI, MIPS64_NOP, MIPS64_ORI, mips64_pracc_exec(), MIPS64_PRACC_PARAM_IN, MIPS64_PRACC_STACK, MIPS64_SD, MIPS64_SH, MIPS64_SYNC, NEG16, NULL, and UPPER16.
Referenced by mips64_pracc_write_mem16().
|
static |
Definition at line 627 of file mips64_pracc.c.
References addr, ARRAY_SIZE, mips64_pracc_context::code, mips64_pracc_context::ejtag_info, LOG_DEBUG, LOWER16, MIPS64_B, MIPS64_DMFC0, MIPS64_DMTC0, MIPS64_LD, MIPS64_LUI, MIPS64_NOP, MIPS64_ORI, mips64_pracc_exec(), MIPS64_PRACC_PARAM_IN, MIPS64_PRACC_STACK, MIPS64_SD, MIPS64_SW, MIPS64_SYNC, MIPS64_SYNCI, NEG16, NULL, and UPPER16.
Referenced by mips64_pracc_write_mem32().
|
static |
Definition at line 565 of file mips64_pracc.c.
References addr, ARRAY_SIZE, mips64_pracc_context::code, mips64_pracc_context::ejtag_info, LOG_DEBUG, LOWER16, MIPS64_B, MIPS64_DMFC0, MIPS64_DMTC0, MIPS64_LD, MIPS64_LUI, MIPS64_NOP, MIPS64_ORI, mips64_pracc_exec(), MIPS64_PRACC_PARAM_IN, MIPS64_PRACC_STACK, MIPS64_SD, MIPS64_SYNC, MIPS64_SYNCI, NEG16, NULL, and UPPER16.
Referenced by mips64_pracc_write_mem64().
|
static |
Definition at line 749 of file mips64_pracc.c.
References addr, ARRAY_SIZE, mips64_pracc_context::code, mips64_pracc_context::ejtag_info, LOG_DEBUG, LOWER16, MIPS64_B, MIPS64_DMFC0, MIPS64_DMTC0, MIPS64_LD, MIPS64_LUI, MIPS64_NOP, MIPS64_ORI, mips64_pracc_exec(), MIPS64_PRACC_PARAM_IN, MIPS64_PRACC_STACK, MIPS64_SB, MIPS64_SD, MIPS64_SYNC, NEG16, NULL, and UPPER16.
Referenced by mips64_pracc_write_mem8().
|
static |
Definition at line 40 of file mips64_pracc.c.
References ctrl, mips_ejtag::ejtag_ctrl, EJTAG_CTRL_PRACC, EJTAG_INST_CONTROL, ERROR_JTAG_DEVICE_ERROR, ERROR_OK, LOG_DEBUG, mips_ejtag_drscan_32(), and mips_ejtag_set_instr().
Referenced by mips64_pracc_exec(), and mips64_pracc_fastdata_xfer().