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

Michael S. Tsirkin mst at redhat.com
Wed Feb 5 13:10:30 UTC 2020


On Wed, Feb 05, 2020 at 11:36:37AM +0000, Daniel P. Berrangé wrote:
> 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 ?

Not that I know. I simply answered Julia's question.

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

Makes sense to me.

> 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