|
|
|
@ -558,6 +558,9 @@ void dtm_t::producer_thread() |
|
|
|
// Learn about the Debug Module and assert things we
|
|
|
|
// depend on in this code.
|
|
|
|
|
|
|
|
// Enable the debugger.
|
|
|
|
write(DMI_DMCONTROL, DMI_DMCONTROL_DMACTIVE); |
|
|
|
|
|
|
|
// These are checked every time we run an abstract command.
|
|
|
|
uint32_t abstractcs = read(DMI_ABSTRACTCS); |
|
|
|
ram_words = get_field(abstractcs, DMI_ABSTRACTCS_PROGSIZE); |
|
|
|
@ -572,9 +575,6 @@ void dtm_t::producer_thread() |
|
|
|
|
|
|
|
data_base = get_field(hartinfo, DMI_HARTINFO_DATAADDR); |
|
|
|
|
|
|
|
// Enable the debugger.
|
|
|
|
write(DMI_DMCONTROL, DMI_DMCONTROL_DMACTIVE); |
|
|
|
|
|
|
|
num_harts = enumerate_harts(); |
|
|
|
halt(0); |
|
|
|
// Note: We don't support systems with heterogeneous XLEN.
|
|
|
|
|