[PATCH v2 0/5] Convert riscv to use the generic iommu page table
Jason Gunthorpe
jgg at nvidia.com
Thu Jan 22 07:31:34 PST 2026
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
?
Jason
More information about the linux-riscv
mailing list