On 10/8/25 12:43 PM, Sairaj Kodilkar wrote:
This series provide fixes for following two issues:


I was able to reproduce and confirm the fixes for the issues you list. Please see my replies to the individual patches for my suggestions.

1. AMD IOMMU fails to detect the devices when they are attached to PCI bus with
    bus id != 0.
    e.g. With following command line, dhclient command fails inside the guest

     -device 
pcie-root-port,port=0x10,chassis=1,id=pci.1,bus=pcie.0,multifunction=on,addr=0x5
 \
     -netdev user,id=USER0,hostfwd=tcp::3333-:22 \
     -device 
virtio-net-pci,id=vnet0,iommu_platform=on,disable-legacy=on,romfile=,netdev=USER0,bus=pci.1,addr=0
 \

2. Current AMD IOMMU supports IOVAs upto 60 bit which cause failure while
    setting up the devices when guest is booted with command line
    "iommu.forcedac=1".

    One example of the failure is when there are two virtio ethernet devices
    attached to the guest with command line
-netdev user,id=USER0 \
        -netdev user,id=USER1 \
        -device 
virtio-net-pci,id=vnet0,iommu_platform=on,disable-legacy=on,romfile=,netdev=USER0
 \
        -device 
virtio-net-pci,id=vnet1,iommu_platform=on,disable-legacy=on,romfile=,netdev=USER1
 \
In this case dhclient fails for second device with following dmesg [ 24.802644] virtio_net virtio0 enp0s1: TX timeout on queue: 0, sq: output.0, vq: 0x1, name: output.0, 5664000 usecs ago
    [   29.856716] virtio_net virtio0 enp0s1: NETDEV WATCHDOG: CPU: 59: 
transmit queue 0 timed out 10720 ms
    [   29.858585] virtio_net virtio0 enp0s1: TX timeout on queue: 0, sq: 
output.0, vq: 0x1, name: output.0, 10720000 usecs ago

Base commit: (qemu uptream) eb7abb4a719f


General feedback for both patches:

I know the commit log is not consistent so far, but going forward I propose we adopt the shorter prefix "amd_iommu: " for commit summaries. There is no ambiguity (only one arch has amd_iommu), so the full path is not required (i.e. avoid 'hw/i386/amd_iommu: '). Shorter boilerplate leaves more space for relevant details, and helps people like me who struggle to comply with character limits :).

Thank you,
Alejandro

Sairaj Kodilkar (2):
   hw/i386/amd_iommu: Fix handling device on buses != 0
   hw/i386/amd_iommu: Support 64 bit address for IOTLB lookup

  hw/i386/amd_iommu.c | 166 +++++++++++++++++++++++++++-----------------
  hw/i386/amd_iommu.h |   7 +-
  2 files changed, 106 insertions(+), 67 deletions(-)





Reply via email to