3 #ifndef OPENOCD_TARGET_RISCV_PROGRAM_H
4 #define OPENOCD_TARGET_RISCV_PROGRAM_H
8 #define RISCV013_MAX_PROGBUF_SIZE 16
int riscv_program_fence_i(struct riscv_program *p)
int riscv_program_lbr(struct riscv_program *p, enum gdb_regno d, enum gdb_regno a, int16_t o)
int riscv_program_write(struct riscv_program *program)
int riscv_program_fence_rw_rw(struct riscv_program *p)
#define RISCV013_MAX_PROGBUF_SIZE
int riscv_program_shr(struct riscv_program *p, enum gdb_regno s, enum gdb_regno a, int16_t o)
int riscv_program_swr(struct riscv_program *p, enum gdb_regno s, enum gdb_regno a, int16_t o)
int riscv_program_csrrsi(struct riscv_program *p, enum gdb_regno d, uint8_t z, enum gdb_regno csr)
int riscv_program_sbr(struct riscv_program *p, enum gdb_regno s, enum gdb_regno a, int16_t o)
int riscv_program_csrrci(struct riscv_program *p, enum gdb_regno d, uint8_t z, enum gdb_regno csr)
int riscv_program_addi(struct riscv_program *p, enum gdb_regno d, enum gdb_regno s, int16_t i)
int riscv_program_store(struct riscv_program *p, enum gdb_regno d, enum gdb_regno b, int16_t o, unsigned int s)
int riscv_program_lwr(struct riscv_program *p, enum gdb_regno d, enum gdb_regno a, int16_t o)
int riscv_program_init(struct riscv_program *p, struct target *t)
int riscv_program_insert(struct riscv_program *p, riscv_insn_t i)
int riscv_program_lhr(struct riscv_program *p, enum gdb_regno d, enum gdb_regno a, int16_t o)
riscv_progbuf_exec_result
@ RISCV_PROGBUF_EXEC_RESULT_EXCEPTION
@ RISCV_PROGBUF_EXEC_RESULT_UNKNOWN
@ RISCV_PROGBUF_EXEC_RESULT_SUCCESS
@ RISCV_PROGBUF_EXEC_RESULT_NOT_EXECUTED
@ RISCV_PROGBUF_EXEC_RESULT_UNKNOWN_ERROR
int riscv_program_csrr(struct riscv_program *p, enum gdb_regno d, enum gdb_regno csr)
int riscv_program_csrw(struct riscv_program *p, enum gdb_regno s, enum gdb_regno csr)
int riscv_program_ldr(struct riscv_program *p, enum gdb_regno d, enum gdb_regno a, int16_t o)
int riscv_program_ebreak(struct riscv_program *p)
int riscv_program_sdr(struct riscv_program *p, enum gdb_regno s, enum gdb_regno a, int16_t o)
int riscv_program_exec(struct riscv_program *p, struct target *t)
Add ebreak and execute the program.
int riscv_program_load(struct riscv_program *p, enum gdb_regno d, enum gdb_regno b, int16_t o, unsigned int s)
enum riscv_progbuf_exec_result execution_result
uint32_t progbuf[RISCV013_MAX_PROGBUF_SIZE]
unsigned int instruction_count