Merge pull request #916 from riscv/getreg_assert

target/riscv: Don't assert in riscv013_get_register()
This commit is contained in:
Tim Newsome 2023-09-14 11:37:01 -07:00 committed by GitHub
commit 2427f585c9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 5 additions and 2 deletions

View File

@ -4945,8 +4945,11 @@ int riscv_get_register(struct target *target, riscv_reg_t *value,
*/
int riscv_save_register(struct target *target, enum gdb_regno regid)
{
assert(target->state == TARGET_HALTED &&
"Doesn't make sense to populate register cache on non-halted targets.");
if (target->state != TARGET_HALTED) {
LOG_TARGET_ERROR(target, "Can't save register %s on a hart that is not halted.",
gdb_regno_name(regid));
return ERROR_FAIL;
}
assert(gdb_regno_cacheable(regid, /* is write? */ false) &&
"Only cacheable registers can be saved.");