Merge pull request #1012 from riscv/remove-dead-code-riscv-program-exec
riscv/program: Remove dead code for save/restore of registers
This commit is contained in:
commit
2fc7360190
|
@ -20,9 +20,6 @@ int riscv_program_init(struct riscv_program *p, struct target *target)
|
||||||
memset(p, 0, sizeof(*p));
|
memset(p, 0, sizeof(*p));
|
||||||
p->target = target;
|
p->target = target;
|
||||||
p->instruction_count = 0;
|
p->instruction_count = 0;
|
||||||
p->target_xlen = riscv_xlen(target);
|
|
||||||
for (size_t i = 0; i < RISCV_REGISTER_COUNT; ++i)
|
|
||||||
p->writes_xreg[i] = 0;
|
|
||||||
|
|
||||||
for (size_t i = 0; i < RISCV_MAX_PROGBUF_SIZE; ++i)
|
for (size_t i = 0; i < RISCV_MAX_PROGBUF_SIZE; ++i)
|
||||||
p->progbuf[i] = -1;
|
p->progbuf[i] = -1;
|
||||||
|
@ -48,15 +45,6 @@ int riscv_program_exec(struct riscv_program *p, struct target *t)
|
||||||
keep_alive();
|
keep_alive();
|
||||||
|
|
||||||
p->execution_result = RISCV_PROGBUF_EXEC_RESULT_UNKNOWN;
|
p->execution_result = RISCV_PROGBUF_EXEC_RESULT_UNKNOWN;
|
||||||
riscv_reg_t saved_registers[GDB_REGNO_XPR31 + 1];
|
|
||||||
for (size_t i = GDB_REGNO_ZERO + 1; i <= GDB_REGNO_XPR31; ++i) {
|
|
||||||
if (p->writes_xreg[i]) {
|
|
||||||
LOG_TARGET_DEBUG(t, "Saving register %d as used by program", (int)i);
|
|
||||||
int result = riscv_get_register(t, &saved_registers[i], i);
|
|
||||||
if (result != ERROR_OK)
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (riscv_program_ebreak(p) != ERROR_OK) {
|
if (riscv_program_ebreak(p) != ERROR_OK) {
|
||||||
LOG_TARGET_ERROR(t, "Unable to insert ebreak into program buffer");
|
LOG_TARGET_ERROR(t, "Unable to insert ebreak into program buffer");
|
||||||
|
@ -80,10 +68,6 @@ int riscv_program_exec(struct riscv_program *p, struct target *t)
|
||||||
}
|
}
|
||||||
p->execution_result = RISCV_PROGBUF_EXEC_RESULT_SUCCESS;
|
p->execution_result = RISCV_PROGBUF_EXEC_RESULT_SUCCESS;
|
||||||
|
|
||||||
for (size_t i = GDB_REGNO_ZERO; i <= GDB_REGNO_XPR31; ++i)
|
|
||||||
if (p->writes_xreg[i])
|
|
||||||
riscv_set_register(t, i, saved_registers[i]);
|
|
||||||
|
|
||||||
return ERROR_OK;
|
return ERROR_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -28,13 +28,6 @@ struct riscv_program {
|
||||||
/* Number of 32-bit instructions in the program. */
|
/* Number of 32-bit instructions in the program. */
|
||||||
size_t instruction_count;
|
size_t instruction_count;
|
||||||
|
|
||||||
/* Side effects of executing this program. These must be accounted for
|
|
||||||
* in order to maintain correct executing of the target system. */
|
|
||||||
bool writes_xreg[RISCV_REGISTER_COUNT];
|
|
||||||
|
|
||||||
/* XLEN on the target. */
|
|
||||||
int target_xlen;
|
|
||||||
|
|
||||||
/* execution result of the program */
|
/* execution result of the program */
|
||||||
/* TODO: remove this field. We should make it a parameter to riscv_program_exec */
|
/* TODO: remove this field. We should make it a parameter to riscv_program_exec */
|
||||||
riscv_progbuf_exec_result_t execution_result;
|
riscv_progbuf_exec_result_t execution_result;
|
||||||
|
|
Loading…
Reference in New Issue