From: Vasant Hegde <vasant.hegde@amd.com>
To: Alejandro Jimenez <alejandro.j.jimenez@oracle.com>,
Sairaj Kodilkar <sarunkod@amd.com>,
qemu-devel@nongnu.org
Cc: mst@redhat.com, pbonzini@redhat.com,
richard.henderson@linaro.org, philmd@linaro.org,
suravee.suthikulpanit@amd.com, marcel.apfelbaum@gmail.com,
eduardo@habkost.net, aik@amd.com
Subject: Re: [PATCH v3 0/2] amd_iommu: Cleanups and fixes (PART 2)
Date: Tue, 21 Oct 2025 10:51:10 +0530 [thread overview]
Message-ID: <2f0d0718-6fd2-4c67-bd73-1b322e7a2ca2@amd.com> (raw)
In-Reply-To: <5a7fde93-9d36-4d97-929a-12d86b847ed6@oracle.com>
Alejandro,
On 10/19/2025 10:12 PM, Alejandro Jimenez wrote:
> Hi Sairaj,
>
> On 10/17/25 2:13 AM, Sairaj Kodilkar wrote:
>> This series provide fixes for following two issues:
>>
>> 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
>>
>
> Besides the above issues, I can also confirm that in combination with a patched
> VFIO driver in the host kernel, this series addresses the problems I mentioned
> earlier with VFIO passthrough devices + DMA remap mode + forcedac=1 on guest
> reboot. Thank you!
Nice! Thanks for verifying.
-Vasant
>
> For the series:
> Reviewed-by: Alejandro Jimenez <alejandro.j.jimenez@oracle.com>
> Tested-by: Alejandro Jimenez <alejandro.j.jimenez@oracle.com>
>
>
>> -------------------------------------------------------------------------------
>>
>> Change log:
>> ----------
>>
>> * Changes since V2:
>> https://lore.kernel.org/qemu-devel/20251013050046.393-1-sarunkod@amd.com/
>> P1:
>> - Remove cast from the pointer assignment [MST]
>> - Rename struct amdvi_as_key to AMDViAsKey [Alejandro, MST]
>> - Fix compilation error due to missing 'static' [Alejandro]
>>
>> P2:
>> - Rename struct amdvi_iotlb_key to AMDViIOTLBKey [Alejandro, MST]
>> - Fix compilation error [Alejandro]
>>
>>
>> * Changes Since V1:
>> https://lore.kernel.org/qemu-devel/20251008164324.21553-1-sarunkod@amd.com/
>> P1:
>> - Use fixed type uint8_t for devfn
>> - Use uintptr_t instead of uint64_t
>> - Build hash key using lower 56 bits of bus pointer and 8 bits of devfn
>> - Use gboolean instead of int for amdvi_find_as_by_devid
>> - Update comments
>> - Use IOMMU_NOTIFIER_NONE instead of IOMMU_NONE
>>
>> P2:
>> - Reword commit message
>> - Correctly initialize `struct amdvi_iotlb_key`
>> - Remove unused macro
>>
>> -------------------------------------------------------------------------------
>>
>> Base commit: (qemu uptream) eb7abb4a719f
>>
>> -------------------------------------------------------------------------------
>>
>>
>> Sairaj Kodilkar (2):
>> amd_iommu: Fix handling device on buses != 0
>> amd_iommu: Support 64 bit address for IOTLB lookup
>>
>> hw/i386/amd_iommu.c | 179 +++++++++++++++++++++++++++-----------------
>> hw/i386/amd_iommu.h | 6 +-
>> 2 files changed, 113 insertions(+), 72 deletions(-)
>>
>
prev parent reply other threads:[~2025-10-21 5:26 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-17 6:13 [PATCH v3 0/2] amd_iommu: Cleanups and fixes (PART 2) Sairaj Kodilkar
2025-10-17 6:13 ` [PATCH v3 1/2] amd_iommu: Fix handling device on buses != 0 Sairaj Kodilkar
2025-10-21 5:27 ` Vasant Hegde
2025-11-03 16:14 ` Michael S. Tsirkin
2025-11-03 19:16 ` Alejandro Jimenez
2025-10-17 6:13 ` [PATCH v3 2/2] amd_iommu: Support 64 bit address for IOTLB lookup Sairaj Kodilkar
2025-10-21 5:28 ` Vasant Hegde
2025-11-03 16:12 ` Michael S. Tsirkin
2025-11-03 19:20 ` Alejandro Jimenez
2025-10-17 6:18 ` [PATCH v3 0/2] amd_iommu: Cleanups and fixes (PART 2) Sairaj Kodilkar
2025-10-19 16:42 ` Alejandro Jimenez
2025-10-21 5:21 ` Vasant Hegde [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2f0d0718-6fd2-4c67-bd73-1b322e7a2ca2@amd.com \
--to=vasant.hegde@amd.com \
--cc=aik@amd.com \
--cc=alejandro.j.jimenez@oracle.com \
--cc=eduardo@habkost.net \
--cc=marcel.apfelbaum@gmail.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=philmd@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=richard.henderson@linaro.org \
--cc=sarunkod@amd.com \
--cc=suravee.suthikulpanit@amd.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).