OpenOCD
|
Go to the source code of this file.
Functions | |
static int | disable_dcr_mp (struct mips_ejtag *ejtag_info) |
static void | ejtag_main_print_imp (struct mips_ejtag *ejtag_info) |
static void | ejtag_v20_print_imp (struct mips_ejtag *ejtag_info) |
static void | ejtag_v26_print_imp (struct mips_ejtag *ejtag_info) |
int | mips64_ejtag_config_step (struct mips_ejtag *ejtag_info, bool enable_step) |
int | mips64_ejtag_exit_debug (struct mips_ejtag *ejtag_info) |
int | mips64_ejtag_fastdata_scan (struct mips_ejtag *ejtag_info, bool write_t, uint64_t *data) |
void | mips_ejtag_add_scan_96 (struct mips_ejtag *ejtag_info, uint32_t ctrl, uint32_t data, uint8_t *in_scan_buf) |
int | mips_ejtag_config_step (struct mips_ejtag *ejtag_info, int enable_step) |
int | mips_ejtag_drscan_32 (struct mips_ejtag *ejtag_info, uint32_t *data) |
void | mips_ejtag_drscan_32_out (struct mips_ejtag *ejtag_info, uint32_t data) |
static void | mips_ejtag_drscan_32_queued (struct mips_ejtag *ejtag_info, uint32_t data_out, uint8_t *data_in) |
int | mips_ejtag_drscan_64 (struct mips_ejtag *ejtag_info, uint64_t *data) |
int | mips_ejtag_drscan_8 (struct mips_ejtag *ejtag_info, uint8_t *data) |
void | mips_ejtag_drscan_8_out (struct mips_ejtag *ejtag_info, uint8_t data) |
int | mips_ejtag_enter_debug (struct mips_ejtag *ejtag_info) |
int | mips_ejtag_exit_debug (struct mips_ejtag *ejtag_info) |
int | mips_ejtag_fastdata_scan (struct mips_ejtag *ejtag_info, int write_t, uint32_t *data) |
int | mips_ejtag_get_idcode (struct mips_ejtag *ejtag_info) |
static int | mips_ejtag_get_impcode (struct mips_ejtag *ejtag_info) |
int | mips_ejtag_init (struct mips_ejtag *ejtag_info) |
static void | mips_ejtag_init_mmr (struct mips_ejtag *ejtag_info) |
void | mips_ejtag_set_instr (struct mips_ejtag *ejtag_info, uint32_t new_instr) |
|
static |
Definition at line 212 of file mips_ejtag.c.
References EJTAG_DCR, EJTAG_DCR_MP, pracc_queue_info::ejtag_info, ERROR_OK, LOG_ERROR, mips32_dmaacc_read_mem(), mips32_dmaacc_write_mem(), and pracc_queue_info::retval.
Referenced by mips_ejtag_enter_debug().
|
static |
Definition at line 332 of file mips_ejtag.c.
References EJTAG_IMP_ASID6, EJTAG_IMP_ASID8, EJTAG_IMP_HAS, EJTAG_IMP_MIPS16, EJTAG_IMP_MIPS64, EJTAG_IMP_NODMA, pracc_queue_info::ejtag_info, ejtag_v20_print_imp(), ejtag_v26_print_imp(), mips_ejtag::ejtag_version, EJTAG_VERSION_20, EJTAG_VERSION_25, EJTAG_VERSION_26, EJTAG_VERSION_31, EJTAG_VERSION_41, EJTAG_VERSION_51, and LOG_DEBUG.
Referenced by mips_ejtag_init().
|
static |
Definition at line 309 of file mips_ejtag.c.
References EJTAG_IMP_HAS, pracc_queue_info::ejtag_info, EJTAG_V20_IMP_BCHANNELS_MASK, EJTAG_V20_IMP_BCHANNELS_SHIFT, EJTAG_V20_IMP_COMPLEX_BREAK, EJTAG_V20_IMP_DCACHE_COH, EJTAG_V20_IMP_EADDR_NO32BIT, EJTAG_V20_IMP_ICACHE_COH, EJTAG_V20_IMP_NODB, EJTAG_V20_IMP_NOIB, EJTAG_V20_IMP_NOPB, EJTAG_V20_IMP_SDBBP, mips_ejtag::impcode, and LOG_DEBUG.
Referenced by ejtag_main_print_imp().
|
static |
Definition at line 325 of file mips_ejtag.c.
References EJTAG_IMP_HAS, EJTAG_V26_IMP_DINT, EJTAG_V26_IMP_R3K, and LOG_DEBUG.
Referenced by ejtag_main_print_imp().
int mips64_ejtag_config_step | ( | struct mips_ejtag * | ejtag_info, |
bool | enable_step | ||
) |
Definition at line 448 of file mips_ejtag.c.
References ARRAY_SIZE, LOWER16, MIPS64_AND, MIPS64_B, MIPS64_LD, MIPS64_LUI, MIPS64_MFC0, MIPS64_MTC0, MIPS64_NOP, MIPS64_ORI, mips64_pracc_exec(), MIPS64_PRACC_STACK, MIPS64_SD, MIPS64_SYNC, NEG16, NULL, and UPPER16.
Referenced by mips_mips64_debug_entry(), mips_mips64_single_step_core(), and mips_mips64_step().
int mips64_ejtag_exit_debug | ( | struct mips_ejtag * | ejtag_info | ) |
Definition at line 500 of file mips_ejtag.c.
References ARRAY_SIZE, LOG_DEBUG, MIPS64_DRET, MIPS64_NOP, mips64_pracc_exec(), and NULL.
Referenced by mips_mips64_resume(), mips_mips64_single_step_core(), and mips_mips64_step().
int mips64_ejtag_fastdata_scan | ( | struct mips_ejtag * | ejtag_info, |
bool | write_t, | ||
uint64_t * | data | ||
) |
Definition at line 517 of file mips_ejtag.c.
References buf_set_u64(), ERROR_OK, scan_field::in_value, jtag_add_callback(), jtag_add_dr_scan(), keep_alive(), mips_le_to_h_u64(), NULL, scan_field::num_bits, scan_field::out_value, mips_ejtag::tap, and TAP_IDLE.
Referenced by mips64_pracc_fastdata_xfer().
void mips_ejtag_add_scan_96 | ( | struct mips_ejtag * | ejtag_info, |
uint32_t | ctrl, | ||
uint32_t | data, | ||
uint8_t * | in_scan_buf | ||
) |
Definition at line 58 of file mips_ejtag.c.
References buf_set_u32(), ctrl, scan_field::in_value, jtag_add_dr_scan(), keep_alive(), scan_field::num_bits, scan_field::out_value, mips_ejtag::tap, and TAP_IDLE.
Referenced by mips32_pracc_queue_exec().
int mips_ejtag_config_step | ( | struct mips_ejtag * | ejtag_info, |
int | enable_step | ||
) |
Definition at line 186 of file mips_ejtag.c.
References pracc_queue_info::code_count, pracc_queue_info::ejtag_info, pracc_queue_info::isa, LOWER16, MIPS32_B, MIPS32_LUI, MIPS32_MFC0, MIPS32_MTC0, MIPS32_ORI, mips32_pracc_queue_exec(), MIPS32_XORI, NEG16, NULL, pracc_add(), pracc_queue_free(), pracc_queue_init(), mips_ejtag::reg8, pracc_queue_info::retval, and UPPER16.
Referenced by mips_m4k_debug_entry(), mips_m4k_single_step_core(), and mips_m4k_step().
int mips_ejtag_drscan_32 | ( | struct mips_ejtag * | ejtag_info, |
uint32_t * | data | ||
) |
Definition at line 130 of file mips_ejtag.c.
References buf_get_u32(), ERROR_OK, jtag_execute_queue(), LOG_ERROR, and mips_ejtag_drscan_32_queued().
Referenced by ejtag_dma_dstrt_poll(), ejtag_dma_read(), ejtag_dma_read_b(), ejtag_dma_read_h(), ejtag_dma_write(), ejtag_dma_write_b(), ejtag_dma_write_h(), mips32_pracc_exec(), mips32_pracc_read_ctrl_addr(), mips64_pracc_exec(), mips64_pracc_exec_read(), mips64_pracc_exec_write(), mips64_pracc_fastdata_xfer(), mips_ejtag_enter_debug(), mips_ejtag_get_idcode(), mips_ejtag_get_impcode(), mips_m4k_poll(), mips_mips64_poll(), and wait_for_pracc_rw().
void mips_ejtag_drscan_32_out | ( | struct mips_ejtag * | ejtag_info, |
uint32_t | data | ||
) |
Definition at line 145 of file mips_ejtag.c.
References mips_ejtag_drscan_32_queued(), and NULL.
Referenced by mips32_pracc_clean_text_jump(), mips32_pracc_exec(), mips32_pracc_fastdata_xfer(), mips32_pracc_finish(), and mips_m4k_assert_reset().
|
static |
Definition at line 111 of file mips_ejtag.c.
References buf_set_u32(), scan_field::in_value, jtag_add_dr_scan(), keep_alive(), scan_field::num_bits, scan_field::out_value, mips_ejtag::tap, and TAP_IDLE.
Referenced by mips_ejtag_drscan_32(), and mips_ejtag_drscan_32_out().
int mips_ejtag_drscan_64 | ( | struct mips_ejtag * | ejtag_info, |
uint64_t * | data | ||
) |
Definition at line 81 of file mips_ejtag.c.
References buf_get_u64(), buf_set_u64(), ERROR_FAIL, ERROR_OK, scan_field::in_value, jtag_add_dr_scan(), jtag_execute_queue(), keep_alive(), LOG_ERROR, scan_field::num_bits, scan_field::out_value, mips_ejtag::tap, and TAP_IDLE.
Referenced by mips64_pracc_exec_read(), and mips64_pracc_exec_write().
int mips_ejtag_drscan_8 | ( | struct mips_ejtag * | ejtag_info, |
uint8_t * | data | ||
) |
Definition at line 150 of file mips_ejtag.c.
References ERROR_OK, scan_field::in_value, jtag_add_dr_scan(), jtag_execute_queue(), LOG_ERROR, scan_field::num_bits, scan_field::out_value, mips_ejtag::tap, and TAP_IDLE.
Referenced by COMMAND_HANDLER().
void mips_ejtag_drscan_8_out | ( | struct mips_ejtag * | ejtag_info, |
uint8_t | data | ||
) |
Definition at line 171 of file mips_ejtag.c.
References scan_field::in_value, jtag_add_dr_scan(), NULL, scan_field::num_bits, scan_field::out_value, mips_ejtag::tap, and TAP_IDLE.
Referenced by COMMAND_HANDLER(), and mips_m4k_assert_reset().
int mips_ejtag_enter_debug | ( | struct mips_ejtag * | ejtag_info | ) |
Definition at line 231 of file mips_ejtag.c.
References disable_dcr_mp(), mips_ejtag::ejtag_ctrl, EJTAG_CTRL_BRKST, EJTAG_CTRL_JTAGBRK, pracc_queue_info::ejtag_info, EJTAG_INST_CONTROL, mips_ejtag::ejtag_version, EJTAG_VERSION_20, ERROR_FAIL, ERROR_OK, LOG_DEBUG, LOG_ERROR, mips_ejtag_drscan_32(), and mips_ejtag_set_instr().
Referenced by mips_m4k_halt(), and mips_mips64_halt().
int mips_ejtag_exit_debug | ( | struct mips_ejtag * | ejtag_info | ) |
Definition at line 258 of file mips_ejtag.c.
References pracc_queue_info::ejtag_info, pa_list::instr, mips_ejtag::isa, jtag_add_sleep(), pracc_queue_info::max_code, MIPS32_DRET, mips32_pracc_queue_exec(), NULL, pracc_queue_info::pracc_list, and pracc_queue_info::retval.
Referenced by avr32_ap7k_resume(), mips_m4k_internal_restore(), mips_m4k_single_step_core(), and mips_m4k_step().
int mips_ejtag_fastdata_scan | ( | struct mips_ejtag * | ejtag_info, |
int | write_t, | ||
uint32_t * | data | ||
) |
Definition at line 411 of file mips_ejtag.c.
References buf_set_u32(), pracc_queue_info::ejtag_info, ERROR_OK, scan_field::in_value, jtag_add_callback(), jtag_add_dr_scan(), keep_alive(), mips_le_to_h_u32(), NULL, scan_field::num_bits, scan_field::out_value, mips_ejtag::tap, and TAP_IDLE.
Referenced by mips32_pracc_fastdata_xfer().
int mips_ejtag_get_idcode | ( | struct mips_ejtag * | ejtag_info | ) |
Definition at line 42 of file mips_ejtag.c.
References EJTAG_INST_IDCODE, mips_ejtag::idcode, mips_ejtag_drscan_32(), and mips_ejtag_set_instr().
Referenced by mips_m4k_examine().
|
static |
Definition at line 50 of file mips_ejtag.c.
References EJTAG_INST_IMPCODE, mips_ejtag::impcode, mips_ejtag_drscan_32(), and mips_ejtag_set_instr().
Referenced by mips_ejtag_init().
int mips_ejtag_init | ( | struct mips_ejtag * | ejtag_info | ) |
Definition at line 357 of file mips_ejtag.c.
References mips_ejtag::ejtag_ctrl, EJTAG_CTRL_PRACC, EJTAG_CTRL_PROBEN, EJTAG_CTRL_ROCC, EJTAG_CTRL_SETDEV, EJTAG_IMP_NODMA, pracc_queue_info::ejtag_info, ejtag_main_print_imp(), mips_ejtag::ejtag_version, EJTAG_VERSION_20, EJTAG_VERSION_25, EJTAG_VERSION_26, EJTAG_VERSION_31, EJTAG_VERSION_41, EJTAG_VERSION_51, ERROR_OK, mips_ejtag::fast_access_save, mips_ejtag::impcode, LOG_DEBUG, LOG_ERROR, mips_ejtag_get_impcode(), mips_ejtag_init_mmr(), and pracc_queue_info::retval.
Referenced by mips_m4k_examine(), and mips_mips64_examine().
|
static |
Definition at line 274 of file mips_ejtag.c.
References mips_ejtag::ejtag_dba0_addr, mips_ejtag::ejtag_dba_step_size, mips_ejtag::ejtag_dbasid_offs, mips_ejtag::ejtag_dbc_offs, mips_ejtag::ejtag_dbm_offs, mips_ejtag::ejtag_dbs_addr, mips_ejtag::ejtag_dbv_offs, mips_ejtag::ejtag_iba0_addr, mips_ejtag::ejtag_iba_step_size, mips_ejtag::ejtag_ibasid_offs, mips_ejtag::ejtag_ibc_offs, mips_ejtag::ejtag_ibm_offs, mips_ejtag::ejtag_ibs_addr, pracc_queue_info::ejtag_info, EJTAG_V20_DBA0, EJTAG_V20_DBAN_STEP, EJTAG_V20_DBC_OFFS, EJTAG_V20_DBM_OFFS, EJTAG_V20_DBS, EJTAG_V20_DBV_OFFS, EJTAG_V20_IBA0, EJTAG_V20_IBAN_STEP, EJTAG_V20_IBC_OFFS, EJTAG_V20_IBM_OFFS, EJTAG_V20_IBS, EJTAG_V25_DBA0, EJTAG_V25_DBAN_STEP, EJTAG_V25_DBASID_OFFS, EJTAG_V25_DBC_OFFS, EJTAG_V25_DBM_OFFS, EJTAG_V25_DBS, EJTAG_V25_DBV_OFFS, EJTAG_V25_IBA0, EJTAG_V25_IBAN_STEP, EJTAG_V25_IBASID_OFFS, EJTAG_V25_IBC_OFFS, EJTAG_V25_IBM_OFFS, EJTAG_V25_IBS, mips_ejtag::ejtag_version, and EJTAG_VERSION_20.
Referenced by mips_ejtag_init().
void mips_ejtag_set_instr | ( | struct mips_ejtag * | ejtag_info, |
uint32_t | new_instr | ||
) |
Definition at line 22 of file mips_ejtag.c.
References buf_get_u32(), buf_set_u32(), jtag_tap::cur_instr, scan_field::in_value, jtag_tap::ir_length, jtag_add_ir_scan(), NULL, scan_field::num_bits, scan_field::out_value, mips_ejtag::tap, and TAP_IDLE.
Referenced by COMMAND_HANDLER(), ejtag_dma_read(), ejtag_dma_read_b(), ejtag_dma_read_h(), ejtag_dma_write(), ejtag_dma_write_b(), ejtag_dma_write_h(), mips32_pracc_clean_text_jump(), mips32_pracc_exec(), mips32_pracc_fastdata_xfer(), mips32_pracc_finish(), mips32_pracc_queue_exec(), mips32_pracc_read_ctrl_addr(), mips64_pracc_exec(), mips64_pracc_exec_read(), mips64_pracc_exec_write(), mips64_pracc_fastdata_xfer(), mips_ejtag_enter_debug(), mips_ejtag_get_idcode(), mips_ejtag_get_impcode(), mips_m4k_assert_reset(), mips_m4k_examine(), mips_m4k_poll(), mips_mips64_assert_reset(), mips_mips64_poll(), and wait_for_pracc_rw().