From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Cc: qemu-devel@nongnu.org, pbonzini@redhat.com, mtosatti@redhat.com,
mst@redhat.com, marcel.apfelbaum@gmail.com, jon.grimm@amd.com,
santosh.shukla@amd.com, vasant.hegde@amd.com, Wei.Huang2@amd.com,
bsd@redhat.com, joao.m.martins@oracle.com,
alejandro.j.jimenez@oracle.com
Subject: Re: [PATCH v4 1/2] hw/i386/amd_iommu: Isolate AMDVI-PCI from amd-iommu device to allow full control over the PCI device creation
Date: Tue, 4 Mar 2025 18:51:35 +0000 [thread overview]
Message-ID: <Z8dLt5kbiDjqBRUa@redhat.com> (raw)
In-Reply-To: <20250304141716.638880-2-suravee.suthikulpanit@amd.com>
On Tue, Mar 04, 2025 at 02:17:15PM +0000, Suravee Suthikulpanit wrote:
> Current amd-iommu model internally creates an AMDVI-PCI device. Here is
> a snippet from info qtree:
>
> bus: main-system-bus
> type System
> dev: amd-iommu, id ""
> xtsup = false
> pci-id = ""
> intremap = "on"
> device-iotlb = false
> pt = true
> ...
> dev: q35-pcihost, id ""
> MCFG = -1 (0xffffffffffffffff)
> pci-hole64-size = 34359738368 (32 GiB)
> below-4g-mem-size = 134217728 (128 MiB)
> above-4g-mem-size = 0 (0 B)
> smm-ranges = true
> x-pci-hole64-fix = true
> x-config-reg-migration-enabled = true
> bypass-iommu = false
> bus: pcie.0
> type PCIE
> dev: AMDVI-PCI, id ""
> addr = 01.0
> romfile = ""
> romsize = 4294967295 (0xffffffff)
> rombar = -1 (0xffffffffffffffff)
> multifunction = false
> x-pcie-lnksta-dllla = true
> x-pcie-extcap-init = true
> failover_pair_id = ""
> acpi-index = 0 (0x0)
> x-pcie-err-unc-mask = true
> x-pcie-ari-nextfn-1 = false
> x-max-bounce-buffer-size = 4096 (4 KiB)
> x-pcie-ext-tag = true
> busnr = 0 (0x0)
> class Class 0806, addr 00:01.0, pci id 1022:0000 (sub 1af4:1100)
> ...
>
> This prohibits users from specifying the PCI topology for the amd-iommu device,
> which becomes a problem when trying to support VM migration since it does not
> guarantee the same enumeration of AMD IOMMU device.
>
> Therfore, decouple the AMDVI-PCI from amd-iommu device and introduce pci-id
> parameter to link between the two devices.
Suggest slightly rewording to make it clear this new approach is opt-in:
Therefore, allow the 'AMDVI-PCI' device to optionally be pre-created and
associated with a 'amd-iommu' device via a new 'pci-id' parameter on the
latter.
>
> For example:
> -device AMDVI-PCI,id=iommupci0,bus=pcie.0,addr=0x05 \
> -device amd-iommu,intremap=on,pt=on,xtsup=on,pci-id=iommupci0 \
>
> For backward-compatibility, internally create the AMDVI-PCI device if not
> specified on the CLI.
>
> Co-developed-by: Daniel P. Berrangé <berrange@redhat.com>
> Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
> ---
> hw/i386/acpi-build.c | 8 +++----
> hw/i386/amd_iommu.c | 52 +++++++++++++++++++++++++++-----------------
> hw/i386/amd_iommu.h | 3 ++-
> 3 files changed, 38 insertions(+), 25 deletions(-)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
With regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
next prev parent reply other threads:[~2025-03-04 18:53 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-04 14:17 [PATCH v4 0/2] hw/i386/amd_iommu: Add migration support Suravee Suthikulpanit
2025-03-04 14:17 ` [PATCH v4 1/2] hw/i386/amd_iommu: Isolate AMDVI-PCI from amd-iommu device to allow full control over the PCI device creation Suravee Suthikulpanit
2025-03-04 18:51 ` Daniel P. Berrangé [this message]
2025-03-04 14:17 ` [PATCH v4 2/2] hw/i386/amd_iommu: Allow migration when explicitly create the AMDVI-PCI device Suravee Suthikulpanit
2025-03-25 2:24 ` [PATCH v4 0/2] hw/i386/amd_iommu: Add migration support Suthikulpanit, Suravee
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=Z8dLt5kbiDjqBRUa@redhat.com \
--to=berrange@redhat.com \
--cc=Wei.Huang2@amd.com \
--cc=alejandro.j.jimenez@oracle.com \
--cc=bsd@redhat.com \
--cc=joao.m.martins@oracle.com \
--cc=jon.grimm@amd.com \
--cc=marcel.apfelbaum@gmail.com \
--cc=mst@redhat.com \
--cc=mtosatti@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=santosh.shukla@amd.com \
--cc=suravee.suthikulpanit@amd.com \
--cc=vasant.hegde@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).