OpenOCD
|
Go to the source code of this file.
Macros | |
#define | LOWER16(v) ((uint32_t)(v & 0xFFFF)) |
#define | MIPS64_FASTDATA_HANDLER_SIZE 0x80 |
#define | MIPS64_PRACC_ADDR_STEP 4 |
#define | MIPS64_PRACC_DATA_STEP 8 |
#define | MIPS64_PRACC_FASTDATA_AREA 0xffffffffFF200000ull |
#define | MIPS64_PRACC_FASTDATA_SIZE 16 |
#define | MIPS64_PRACC_PARAM_IN 0xffffffffFF201000ull |
#define | MIPS64_PRACC_PARAM_IN_SIZE 0x1000 |
#define | MIPS64_PRACC_PARAM_OUT (MIPS64_PRACC_PARAM_IN + MIPS64_PRACC_PARAM_IN_SIZE) |
#define | MIPS64_PRACC_PARAM_OUT_SIZE 0x1000 |
#define | MIPS64_PRACC_STACK 0xffffffffFF204000ull |
#define | MIPS64_PRACC_TEXT 0xffffffffFF200200ull |
#define | NEG16(v) ((uint32_t)(((~(v)) + 1) & 0xFFFF)) |
#define | UPPER16(v) ((uint32_t)((v >> 16) & 0xFFFF)) |
Functions | |
int | mips64_pracc_exec (struct mips_ejtag *ejtag_info, unsigned int code_len, const uint32_t *code, unsigned int num_param_in, uint64_t *param_in, unsigned int num_param_out, uint64_t *param_out) |
int | mips64_pracc_fastdata_xfer (struct mips_ejtag *ejtag_info, struct working_area *source, bool write_t, uint64_t addr, unsigned int count, uint64_t *buf) |
int | mips64_pracc_read_mem (struct mips_ejtag *ejtag_info, uint64_t addr, unsigned int size, unsigned int count, void *buf) |
int | mips64_pracc_read_regs (struct mips_ejtag *ejtag_info, uint64_t *regs) |
int | mips64_pracc_write_mem (struct mips_ejtag *ejtag_info, uint64_t addr, unsigned int size, unsigned int count, void *buf) |
int | mips64_pracc_write_regs (struct mips_ejtag *ejtag_info, uint64_t *regs) |
#define LOWER16 | ( | v | ) | ((uint32_t)(v & 0xFFFF)) |
Definition at line 31 of file mips64_pracc.h.
#define MIPS64_FASTDATA_HANDLER_SIZE 0x80 |
Definition at line 34 of file mips64_pracc.h.
#define MIPS64_PRACC_ADDR_STEP 4 |
Definition at line 40 of file mips64_pracc.h.
#define MIPS64_PRACC_DATA_STEP 8 |
Definition at line 41 of file mips64_pracc.h.
#define MIPS64_PRACC_FASTDATA_AREA 0xffffffffFF200000ull |
Definition at line 32 of file mips64_pracc.h.
#define MIPS64_PRACC_FASTDATA_SIZE 16 |
Definition at line 33 of file mips64_pracc.h.
#define MIPS64_PRACC_PARAM_IN 0xffffffffFF201000ull |
Definition at line 23 of file mips64_pracc.h.
#define MIPS64_PRACC_PARAM_IN_SIZE 0x1000 |
Definition at line 24 of file mips64_pracc.h.
#define MIPS64_PRACC_PARAM_OUT (MIPS64_PRACC_PARAM_IN + MIPS64_PRACC_PARAM_IN_SIZE) |
Definition at line 25 of file mips64_pracc.h.
#define MIPS64_PRACC_PARAM_OUT_SIZE 0x1000 |
Definition at line 26 of file mips64_pracc.h.
#define MIPS64_PRACC_STACK 0xffffffffFF204000ull |
Definition at line 22 of file mips64_pracc.h.
#define MIPS64_PRACC_TEXT 0xffffffffFF200200ull |
Definition at line 20 of file mips64_pracc.h.
#define NEG16 | ( | v | ) | ((uint32_t)(((~(v)) + 1) & 0xFFFF)) |
Definition at line 38 of file mips64_pracc.h.
#define UPPER16 | ( | v | ) | ((uint32_t)((v >> 16) & 0xFFFF)) |
Definition at line 30 of file mips64_pracc.h.
int mips64_pracc_exec | ( | struct mips_ejtag * | ejtag_info, |
unsigned int | code_len, | ||
const uint32_t * | code, | ||
unsigned int | num_param_in, | ||
uint64_t * | param_in, | ||
unsigned int | 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().
int mips64_pracc_fastdata_xfer | ( | struct mips_ejtag * | ejtag_info, |
struct working_area * | source, | ||
bool | write_t, | ||
uint64_t | addr, | ||
unsigned int | 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 int | size, | ||
unsigned int | 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().
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().
int mips64_pracc_write_mem | ( | struct mips_ejtag * | ejtag_info, |
uint64_t | addr, | ||
unsigned int | size, | ||
unsigned int | 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().
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().