fix riscv abstract command handling
enter_debug_mode() probes for autoexec capability, but forgets to reset the
register in the dm. This causes spuriously executed abstrace commands on
hardware implementations, that support autoexec.
To fix the issue, clear the register after probing.
@@ -382,6 +382,10 @@ impl<'probe> RiscvCommunicationInterface {
let abstractauto_readback: Abstractauto = self.read_dm_register()?;
+ // clear abstractauto
+ abstractauto = Abstractauto(0);
+ self.write_dm_register(abstractauto)?;
+
self.state.supports_autoexec = abstractauto_readback == abstractauto;
log::debug!("Support for autoexec: {}", self.state.supports_autoexec);
