diff --git a/src/target/riscv/program.c b/src/target/riscv/program.c index 5159abe7b..bf6718f4e 100644 --- a/src/target/riscv/program.c +++ b/src/target/riscv/program.c @@ -20,7 +20,7 @@ int riscv_program_init(struct riscv_program *p, struct target *target) p->target = target; p->instruction_count = 0; - for (size_t i = 0; i < RISCV_MAX_PROGBUF_SIZE; ++i) + for (unsigned int i = 0; i < RISCV013_MAX_PROGBUF_SIZE; ++i) p->progbuf[i] = (uint32_t)(-1); p->execution_result = RISCV_PROGBUF_EXEC_RESULT_NOT_EXECUTED; @@ -47,9 +47,9 @@ int riscv_program_exec(struct riscv_program *p, struct target *t) if (riscv_program_ebreak(p) != ERROR_OK) { LOG_TARGET_ERROR(t, "Unable to insert ebreak into program buffer"); - for (size_t i = 0; i < riscv_progbuf_size(p->target); ++i) + for (unsigned int i = 0; i < riscv_progbuf_size(p->target); ++i) LOG_TARGET_ERROR(t, "progbuf[%02x]: DASM(0x%08" PRIx32 ") [0x%08" PRIx32 "]", - (int)i, p->progbuf[i], p->progbuf[i]); + i, p->progbuf[i], p->progbuf[i]); return ERROR_FAIL; } @@ -198,8 +198,8 @@ int riscv_program_insert(struct riscv_program *p, riscv_insn_t i) { if (p->instruction_count >= riscv_progbuf_size(p->target)) { LOG_TARGET_ERROR(p->target, "Unable to insert program into progbuf, " - "capacity would be exceeded (progbufsize=%d).", - (int)riscv_progbuf_size(p->target)); + "capacity would be exceeded (progbufsize=%u).", + riscv_progbuf_size(p->target)); return ERROR_FAIL; } diff --git a/src/target/riscv/program.h b/src/target/riscv/program.h index 73b85ee04..ba44abaf1 100644 --- a/src/target/riscv/program.h +++ b/src/target/riscv/program.h @@ -5,9 +5,7 @@ #include "riscv.h" -#define RISCV_MAX_PROGBUF_SIZE 32 -#define RISCV_REGISTER_COUNT 32 -#define RISCV_DSCRATCH_COUNT 2 +#define RISCV013_MAX_PROGBUF_SIZE 16 typedef enum { RISCV_PROGBUF_EXEC_RESULT_NOT_EXECUTED, @@ -23,10 +21,10 @@ typedef enum { struct riscv_program { struct target *target; - uint32_t progbuf[RISCV_MAX_PROGBUF_SIZE]; + uint32_t progbuf[RISCV013_MAX_PROGBUF_SIZE]; /* Number of 32-bit instructions in the program. */ - size_t instruction_count; + unsigned int instruction_count; /* execution result of the program */ /* TODO: remove this field. We should make it a parameter to riscv_program_exec */ diff --git a/src/target/riscv/riscv-013.c b/src/target/riscv/riscv-013.c index 07230eb3f..1c5d60eee 100644 --- a/src/target/riscv/riscv-013.c +++ b/src/target/riscv/riscv-013.c @@ -5338,7 +5338,7 @@ static enum riscv_halt_reason riscv013_halt_reason(struct target *target) static int riscv013_write_progbuf(struct target *target, unsigned int index, riscv_insn_t data) { - assert(index < RISCV_MAX_PROGBUF_SIZE); + assert(index < RISCV013_MAX_PROGBUF_SIZE); dm013_info_t *dm = get_dm(target); if (!dm) diff --git a/src/target/riscv/riscv.c b/src/target/riscv/riscv.c index 6b99c1fa9..1f0c44b38 100644 --- a/src/target/riscv/riscv.c +++ b/src/target/riscv/riscv.c @@ -6048,7 +6048,7 @@ static enum riscv_halt_reason riscv_halt_reason(struct target *target) return r->halt_reason(target); } -size_t riscv_progbuf_size(struct target *target) +unsigned int riscv_progbuf_size(struct target *target) { RISCV_INFO(r); return r->get_progbufsize(target); diff --git a/src/target/riscv/riscv.h b/src/target/riscv/riscv.h index 6d2914eb2..cf809c0b0 100644 --- a/src/target/riscv/riscv.h +++ b/src/target/riscv/riscv.h @@ -473,7 +473,7 @@ int riscv_get_hart_state(struct target *target, enum riscv_hart_state *state); /* These helper functions let the generic program interface get target-specific * information. */ -size_t riscv_progbuf_size(struct target *target); +unsigned int riscv_progbuf_size(struct target *target); riscv_insn_t riscv_read_progbuf(struct target *target, int index); int riscv_write_progbuf(struct target *target, unsigned int index, riscv_insn_t insn);