pulp-platform / riscv-dbg

RISC-V Debug Support for our PULP RISC-V Cores
Other
219 stars 72 forks source link

Fix for #81 and #91 #93

Closed Silabs-ArjanB closed 3 years ago

Silabs-ArjanB commented 3 years ago

Fix for sbbusy related issues:

Signed-off-by: Arjan Bink Arjan.Bink@silabs.com

bluewww commented 3 years ago

Thanks for all the bug fixes. I try to review them in the coming days. Unfortunately, the CI setup just breaks all the time, so I have to do this manually for now. Also ideally we would also add simple testcases for each bug fix, but I don't know if this is feasible.

Silabs-ArjanB commented 3 years ago

Thanks for all the bug fixes. I try to review them in the coming days. Unfortunately, the CI setup just breaks all the time, so I have to do this manually for now. Also ideally we would also add simple testcases for each bug fix, but I don't know if this is feasible.

Hi @bluewww Thank you. Could you please also comment on the following? I looked at https://github.com/pulp-platform/riscv-dbg/pull/27 and it seems to me that an alternative (but easier) fix could maybe be to tie datacount to 1 in case BusWidth == 32 and to 2 otherwise. Would that work?

bluewww commented 3 years ago

@Silabs-ArjanB Can you explain to me why you remove setting sbcs_d.sbbusyerror when writing to SBAddressX ? The debug spec states that SystemBus Address: [...] When the system bus master is busy, writes to this register will set sbbusyerror and don’t do anything else. (3.12.20).

Silabs-ArjanB commented 3 years ago

@Silabs-ArjanB Can you explain to me why you remove setting sbcs_d.sbbusyerror when writing to SBAddressX ? The debug spec states that SystemBus Address: [...] When the system bus master is busy, writes to this register will set sbbusyerror and don’t do anything else. (3.12.20).

I thought I only removed that from the SBAddressX reads, didn't I? (The spec only mandates the sbbusyerror for writes to sbaddress*, not reads)