Don't crash when encountering RV64.
Change-Id: Ie915ce830c3499919e4918ad443a5e225cf8c4d9
This commit is contained in:
parent
65be0776d8
commit
a0623b2fa8
|
@ -700,6 +700,7 @@ static int register_read_abstract(struct target *target, uint64_t *value,
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (value)
|
||||||
*value = read_abstract_arg(target, 0);
|
*value = read_abstract_arg(target, 0);
|
||||||
|
|
||||||
return ERROR_OK;
|
return ERROR_OK;
|
||||||
|
@ -1078,11 +1079,7 @@ static int examine(struct target *target)
|
||||||
* program buffer. */
|
* program buffer. */
|
||||||
r->debug_buffer_size[i] = info->progsize;
|
r->debug_buffer_size[i] = info->progsize;
|
||||||
|
|
||||||
/* Guess this is a 32-bit system, we're probing it. */
|
int result = register_read_abstract(target, NULL, GDB_REGNO_S0, 64);
|
||||||
// >>> r->xlen[i] = 32;
|
|
||||||
|
|
||||||
uint64_t value;
|
|
||||||
int result = register_read_abstract(target, &value, GDB_REGNO_S0, 64);
|
|
||||||
if (result == ERROR_OK) {
|
if (result == ERROR_OK) {
|
||||||
r->xlen[i] = 64;
|
r->xlen[i] = 64;
|
||||||
} else {
|
} else {
|
||||||
|
@ -1371,7 +1368,6 @@ static int read_memory(struct target *target, target_addr_t address,
|
||||||
dmi_write(target, DMI_ABSTRACTAUTO, 0);
|
dmi_write(target, DMI_ABSTRACTAUTO, 0);
|
||||||
if (register_read_direct(target, &next_addr, GDB_REGNO_S0) != ERROR_OK)
|
if (register_read_direct(target, &next_addr, GDB_REGNO_S0) != ERROR_OK)
|
||||||
return ERROR_FAIL;
|
return ERROR_FAIL;
|
||||||
next_addr -= size;
|
|
||||||
dmi_write(target, DMI_ABSTRACTAUTO,
|
dmi_write(target, DMI_ABSTRACTAUTO,
|
||||||
1 << DMI_ABSTRACTAUTO_AUTOEXECDATA_OFFSET);
|
1 << DMI_ABSTRACTAUTO_AUTOEXECDATA_OFFSET);
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue