If pdte.V == 0, stop and report "PDT entry not valid" (cause = 266).
However, when pdte.V == 0, it is giving "DDT_ENTRY_MISCONFIGURED(cause = 259)" which is wrong.
Here is the counter-example where you can see that in the 10th cycle when pdt_walk is high, and in the 11th cycle when the process directory entry is accessed, pdte.v == 0, and in the next cycle, cause_code == 259, which is wrong.
The Specs state that:
However, when pdte.V == 0, it is giving "DDT_ENTRY_MISCONFIGURED(cause = 259)" which is wrong.
Here is the counter-example where you can see that in the 10th cycle when pdt_walk is high, and in the 11th cycle when the process directory entry is accessed, pdte.v == 0, and in the next cycle, cause_code == 259, which is wrong.![image](https://github.com/zero-day-labs/riscv-iommu/assets/140173282/3cb980c4-a985-4208-9dc2-24c5ff2474f0)