riscv-non-isa / server-soc

The repo holds the draft non-ISA Server SoC specification being developed by the Server SoC specification TG and to release intermediate releases of the specification on milestones. Further downstream this repo will be used to release specifications for public review.
https://jira.riscv.org/browse/RVG-58
Creative Commons Attribution 4.0 International
20 stars 7 forks source link

Clarify requirement for IOMMU #43

Closed jones-drew closed 5 months ago

jones-drew commented 5 months ago

The non-normative text for IOM_010 states "The number of IOMMUs implemented in the SoC is UNSPECIFIED." which implies zero is OK. However, IOM_020 states "All DMA capable peripherals (RCiEP and non-PCIe devices) and all PCIe root ports accessible by software on the RISC-V application processor harts MUST be governed by an IOMMU." Assuming a server SoC will always have at least one DMA capable peripheral means the spec effectively mandates an IOMMU. There has been some confusion, though, from only reading IOM_010. Should we instead write something like "The number of IOMMUs implemented in the SoC is UNSPECIFIED but MUST be at least one."?

jones-drew commented 5 months ago

Since I'm suggesting changing non-normative text, then I probably shouldn't be using such formal-looking language and 'MUST'. Maybe something more like "The number of IOMMUs implemented in the SoC is UNSPECIFIED, but is expected to be at least one." is better?

ved-rivos commented 5 months ago

How about: "The number of IOMMUs implemented to satisfy requirement IOM_020 in the SoC is UNSPECIFIED."

jones-drew commented 5 months ago

How about: "The number of IOMMUs implemented to satisfy requirement IOM_020 in the SoC is UNSPECIFIED."

Works for me. Thanks

ved-rivos commented 5 months ago

update in #44