zero-day-labs / riscv-iommu

IOMMU IP compliant with the RISC-V IOMMU Specification v1.0
Apache License 2.0
66 stars 12 forks source link

Wrong cause_code if dc.tc.v == 0 when inclpc == 1 #26

Open mhayat-10xe opened 1 month ago

mhayat-10xe commented 1 month ago

The spec states that:

  1. If DC.tc.V == 0, stop and report "DDT entry not valid" (cause = 258).

Here is the counter-example of the violation of the spec where in cycle 4 when dc.tc.v == 0, then in the 7th cycle after completing of burst, RTL is not giving cause_code == 258 instead it is giving cause_code == 259 which is wrong.

image