riscv-non-isa / riscv-iommu

RISC-V IOMMU Specification
https://jira.riscv.org/browse/RVG-55
Creative Commons Attribution 4.0 International
76 stars 15 forks source link

Question about transaction access fault detection in MSI translation #304

Closed viktoryou closed 2 months ago

viktoryou commented 3 months ago

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?

ved-rivos commented 2 months ago

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.