15 #ifndef OPENOCD_TARGET_MIPS64_PRACC_H
16 #define OPENOCD_TARGET_MIPS64_PRACC_H
20 #define MIPS64_PRACC_TEXT 0xffffffffFF200200ull
22 #define MIPS64_PRACC_STACK 0xffffffffFF204000ull
23 #define MIPS64_PRACC_PARAM_IN 0xffffffffFF201000ull
24 #define MIPS64_PRACC_PARAM_IN_SIZE 0x1000
25 #define MIPS64_PRACC_PARAM_OUT (MIPS64_PRACC_PARAM_IN + MIPS64_PRACC_PARAM_IN_SIZE)
26 #define MIPS64_PRACC_PARAM_OUT_SIZE 0x1000
30 #define UPPER16(v) ((uint32_t)((v >> 16) & 0xFFFF))
31 #define LOWER16(v) ((uint32_t)(v & 0xFFFF))
32 #define MIPS64_PRACC_FASTDATA_AREA 0xffffffffFF200000ull
33 #define MIPS64_PRACC_FASTDATA_SIZE 16
34 #define MIPS64_FASTDATA_HANDLER_SIZE 0x80
38 #define NEG16(v) ((uint32_t)(((~(v)) + 1) & 0xFFFF))
40 #define MIPS64_PRACC_ADDR_STEP 4
41 #define MIPS64_PRACC_DATA_STEP 8
44 unsigned int count,
void *buf);
46 unsigned int count,
void *buf);
52 unsigned int code_len,
const uint32_t *code,
53 unsigned int num_param_in, uint64_t *param_in,
54 unsigned int num_param_out, uint64_t *param_out);
58 bool write_t, uint64_t
addr,
59 unsigned int count, uint64_t *buf);
static const struct @109 regs[]
int mips64_pracc_write_regs(struct mips_ejtag *ejtag_info, uint64_t *regs)
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_read_regs(struct mips_ejtag *ejtag_info, uint64_t *regs)
int mips64_pracc_read_mem(struct mips_ejtag *ejtag_info, uint64_t addr, unsigned int size, unsigned int count, void *buf)
int mips64_pracc_write_mem(struct mips_ejtag *ejtag_info, uint64_t addr, unsigned int size, unsigned int count, void *buf)
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)
target_addr_t addr
Start address to search for the control block.
size_t size
Size of the control block search area.