riscv-non-isa / riscv-iommu

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

How is the requester ID assigned in an invalid request TLP packet? #356

Closed dongxieDD closed 2 weeks ago

dongxieDD commented 2 weeks ago
 In the invalid TLP packet, the device ID and requester ID are sent to the RC by the IOMMU. The device ID can be determined by the RID, so how should the requester ID be assigned?

invld_req invld_req1

ved-rivos commented 2 weeks ago

It's the host's requester ID.

dongxieDD commented 2 weeks ago

Thank you very much for your reply.

18772820305 commented 2 weeks ago

How to understand the host's request ID?

ved-rivos commented 2 weeks ago

It is usually the requester ID of the PCIe root port to which the the device is connected either directly or though switches. The configuration of the PCIe root complex is typically done by system firmware and OS that executes on the host as part of boot. This includes assigning the bus number for the PCIe root ports and the bus numbers for the secondary and subordinate buses. See example of PCI-PCI bridge configuration here and here.