Merge pull request #1054 from en-sc/en-sc/rv011-pc-dpc

target/riscv/riscv-011: pc and dpc should be cached at the same location
This commit is contained in:
Evgeniy Naydanov 2024-04-26 20:48:47 +03:00 committed by GitHub
commit 5aac841f4a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 2 additions and 2 deletions

View File

@ -1280,7 +1280,7 @@ static int register_write(struct target *target, unsigned int number,
} else if (number <= GDB_REGNO_XPR31) { } else if (number <= GDB_REGNO_XPR31) {
cache_set_load(target, 0, number - GDB_REGNO_ZERO, SLOT0); cache_set_load(target, 0, number - GDB_REGNO_ZERO, SLOT0);
cache_set_jump(target, 1); cache_set_jump(target, 1);
} else if (number == GDB_REGNO_PC) { } else if (number == GDB_REGNO_PC || number == GDB_REGNO_DPC) {
info->dpc = value; info->dpc = value;
return ERROR_OK; return ERROR_OK;
} else if (number >= GDB_REGNO_FPR0 && number <= GDB_REGNO_FPR31) { } else if (number >= GDB_REGNO_FPR0 && number <= GDB_REGNO_FPR31) {
@ -1338,7 +1338,7 @@ static int get_register(struct target *target, riscv_reg_t *value,
if (regid <= GDB_REGNO_XPR31) { if (regid <= GDB_REGNO_XPR31) {
*value = reg_cache_get(target, regid); *value = reg_cache_get(target, regid);
} else if (regid == GDB_REGNO_PC) { } else if (regid == GDB_REGNO_PC || regid == GDB_REGNO_DPC) {
*value = info->dpc; *value = info->dpc;
} else if (regid >= GDB_REGNO_FPR0 && regid <= GDB_REGNO_FPR31) { } else if (regid >= GDB_REGNO_FPR0 && regid <= GDB_REGNO_FPR31) {
int result = update_mstatus_actual(target); int result = update_mstatus_actual(target);