[PATCH v2 0/5] Convert riscv to use the generic iommu page table

Vincent Chen vincent.chen at sifive.com
Thu Jan 22 19:05:40 PST 2026


On Thu, Jan 22, 2026 at 11:31 PM Jason Gunthorpe <jgg at nvidia.com> wrote:
>
> On Thu, Jan 22, 2026 at 09:46:47AM +0800, Vincent Chen wrote:
> > Hi Jason,
> >
> > I tested this patch set on my side with the QEMU-virt machine.
> > I used the following QEMU command for testing:
> >
> >   $QEMU/qemu-system-riscv64 \
> >     -M virt,aia=aplic-imsic,aia-guests=7,iommu-sys=on -m 8G -nographic \
> >     -bios $OPENSBI_IMAGE \
> >     -serial mon:stdio -serial null -nographic \
> >     -device e1000e,netdev=net0 \
> >     -netdev user,id=net0 \
> >     -cpu rv64,v=true,vlen=256,ssdbltrp=true,smdbltrp=true \
> >     -device '{"driver":"virtio-9p-device","fsdev":"share","mount_tag":"host0"}'
> > \
> >     -fsdev local,id=share,path=share,security_model=mapped \
> >     -append 'console=ttyS0 earlycon' \
> >     -kernel $KERNEL_IMAGE \
> >     -gdb tcp::6234 \
> >     -smp 4
> >
> > The boot log shows that the e1000e is successfully added to IOMMU group 1:
> >
> >   [    0.752808] pci 0000:00:00.0: Adding to iommu group 0
> >   [    0.753279] pci 0000:00:01.0: Adding to iommu group 1
> >   [...]
> >   [    0.763212] e1000e 0000:00:01.0: enabling device (0000 -> 0002)
> >   [    0.765241] e1000e 0000:00:01.0: Interrupt Throttling Rate
> > (ints/sec) set to dynamic conservative mode
> >   [    0.868120] e1000e 0000:00:01.0 eth0: (PCI Express:2.5GT/s:Width
> > x1) 52:54:00:12:34:56
> >   [    0.868740] e1000e 0000:00:01.0 eth0: Intel(R) PRO/1000 Network Connection
> >   [    0.869087] e1000e 0000:00:01.0 eth0: MAC: 3, PHY: 8, PBA No: 000000-000
> >
> > In this environment, I used iperf3 to verify that the e1000e functions
> > correctly. The result shows that the test completed successfully:
>
> This is great, thanks!
>
> Can you confirm that the iommu was set to translating for this test?
>
> $ cat /sys/kernel/iommu_groups/0/type
> DMA-FQ
> $ cat /sys/kernel/iommu_groups/1/type
> DMA-FQ
>

Sure.

# cat /sys/kernel/iommu_groups/0/type
DMA
# cat /sys/kernel/iommu_groups/1/type
DMA



More information about the linux-riscv mailing list