riscvarchive / riscv-fesvr

RISC-V Frontend Server
Other
62 stars 83 forks source link

dtm: Fix HALTREQ/RESUMEREQ issue and don't just die #34

Closed mwachs5 closed 7 years ago

mwachs5 commented 7 years ago

This PR does 2 things:

1) Make sure to clear HALTREQ/RESUMEREQ once the hart is halted or resumed, as instructed by the spec. Previously rocket-chip didn't really allow reading these bits back. When the HW allows reading those bits back, code which read dmcontrol to modify it writes those bits as 1 again, which was not intended.

2) die() no longer actually dies, it just prints an error, to allow getting debugging waveforms when badness happens. In almost all cases the test would fail anyway as it indicates the program could not load successfully.