On Fri, Jun 13, 2025 at 03:44:45PM +0100, Shameer Kolothum wrote: > With the soon to be introduced user-creatable SMMUv3 devices for > virt, it is possible to have multiple SMMUv3 devices associated > with different PCIe root complexes. > > Update IORT nodes accordingly. > > An example IORT Id mappings for a Qemu virt machine with two > PCIe Root Complexes each assocaited with a SMMUv3 will > be something like below, > > -device arm-smmuv3,primary-bus=pcie.0,id=smmuv3.0 > -device arm-smmuv3,primary-bus=pcie.1,id=smmuv3.1 > ... > > +--------------------+ +--------------------+ > | Root Complex 0 | | Root Complex 1 | > | | | | > | Requestor IDs | | Requestor IDs | > | 0x0000 - 0x00FF | | 0x0100 - 0x01FF | > +---------+----------+ +---------+----------+ > | | > | | > | Stream ID Mapping | > v v > +--------------------+ +--------------------+ > | SMMUv3 Node 0 | | SMMUv3 Node 1 | > | | | | > | Stream IDs 0x0000- | | Stream IDs 0x0100- | > | 0x00FF mapped from | | 0x01FF mapped from | > | RC0 Requestor IDs | | RC1 Requestor IDs | > +--------------------+ +--------------------+ > | | > | | > +----------------+---------------+ > | > |Device ID Mapping > v > +----------------------------+ > | ITS Node 0 | > | | > | Device IDs: | > | 0x0000 - 0x00FF (from RC0) | > | 0x0100 - 0x01FF (from RC1) | > | 0x0200 - 0xFFFF (No SMMU) | > +----------------------------+ > > Tested-by: Nathan Chen <nath...@nvidia.com> > Signed-off-by: Shameer Kolothum <shameerali.kolothum.th...@huawei.com>
Reviewed-by: Nicolin Chen <nicol...@nvidia.com>