riscv-non-isa/riscv-iommu

Question about transaction access fault detection in MSI translation

Closed this issue · 1 comments

In the chapter 2.3.3 of the Spec,

  1. If the transaction is an Untranslated or Translated read-for-execute then stop and report "Instruction access fault" (cause = 1).

could we say the rule in step.16 applies to all read-for-execute transactions (same as model)? Also, another possible understanding could be "Untranslated transactions or Translated read-for-execute transactions". Then it becomes confusing. Could you help to clarify that?

could we say the rule in step.16 applies to all read-for-execute transactions

It only applies to Translated and Untranslated requests. ATS Translation Requests do not fault due to permission - they just return a response with the available permissions i.e. if there is no other fault then they would result in a Success response with R=W=1 and X=0. The model missed qualifying the faulting to not occur for translation request - updated in PR #307.