DM: fix any/allnonexistent going low when hasel is set. The hart array mask is in addition to the hart selected by hartsel.

This commit is contained in:
Luke Wren 2022-07-30 19:55:22 +01:00
parent 9787c604ad
commit 797bff81ab
1 changed files with 15 additions and 14 deletions

View File

@ -757,7 +757,8 @@ always @ (*) begin
2'h0, // reserved
status_all_any(dmstatus_havereset), // allhavereset, anyhavereset
status_all_any(dmstatus_resumeack), // allresumeack, anyresumeack
{2{!hasel && hartsel >= N_HARTS}}, // allnonexistent, anynonexistent
hartsel >= N_HARTS && !(hasel && |hart_array_mask), // allnonexistent
hartsel >= N_HARTS, // anynonexistent
status_all_any(~hart_available), // allunavail, anyunavail
status_all_any(hart_running & hart_available), // allrunning, anyrunning
status_all_any(hart_halted & hart_available), // allhalted, anyhalted