Disabling PCI "hot-unplug" for a guest (and/or a single PCI device)

Daniel P. Berrangé berrange at redhat.com
Wed Feb 5 11:36:37 UTC 2020


On Tue, Feb 04, 2020 at 11:35:37AM -0500, Michael S. Tsirkin wrote:
> On Tue, Feb 04, 2020 at 05:13:54PM +0100, Julia Suvorova wrote:
> > On Tue, Feb 4, 2020 at 11:26 AM Michael S. Tsirkin <mst at redhat.com> wrote:
> > >
> > > On Mon, Feb 03, 2020 at 05:19:51PM -0500, Laine Stump wrote:
> > > > 3) qemu could add a "hotpluggable=no" commandline option to all PCI devices
> > > > (including vfio-pci) and then do whatever is necessary to make sure this is
> > > > honored in the emulated hardware (is it possible to set this on a per-slot
> > > > basis in a PCI controller? Or must it be done for an entire controller?
> > >
> > > I think it's possible on a per-slot basis, yes.
> > 
> > There's a "Hot-Plug Capable" option in Slot Capability register, so we
> > can switch it off. But it's only for pcie devices, can't say anything
> > about conventional pci.
> > 
> > Best regards, Julia Suvorova.
> 
> For conventional PCI, we can drop SHPC capability and remove
> the eject method from ACPI.

Before considering this, is there any compelling reason to care about
this for PCI ?  Currently with i440fx there's no direct representation
of the 32 slots as objects in either QEMU or libvirt. So extending this
to allow disabling hotplug for i440fx PCI slots is going to need much
more config work for QEMU, libvirt and mgmt apps.  Personally I'd only
do this for PCIe until there's a clear requirement given for legacy PCI
support too.

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 :|




More information about the libvir-list mailing list