On Tue, Oct 12, 2021 at 07:30:34AM +0200, Gerd Hoffmann wrote: > > > index f3ac04399969..477c8776aa27 100644 > > > --- a/hw/pci/pcie.c > > > +++ b/hw/pci/pcie.c > > > @@ -549,6 +549,8 @@ void pcie_cap_slot_unplug_request_cb(HotplugHandler > > > *hotplug_dev, > > > } > > > > > > dev->pending_deleted_event = true; > > > + dev->pending_deleted_expires_ms = > > > + qemu_clock_get_ms(QEMU_CLOCK_VIRTUAL) + 5000; /* 5 secs */ > > > > > > /* In case user cancel the operation of multi-function hot-add, > > > * remove the function that is unexposed to guest individually, > > > > > > Well this will be barely enough, right? > > > > Once the Power > > Indicator begins blinking, a 5-second abort interval exists during > > which a second depression of the > > Attention Button cancels the operation. > > Well, canceling the hot-plug is not supported in qemu right now (there > is no qmp command for that). I'm also not sure it makes sense in the > first place for virtual machines.
Yes. However if you resend an attention button press within the 5 second window, guest will think you cancelled hot-plug and act accordingly. It's a fundamentally racy algorithm :( > > So I guess it needs to be more. Problem is of course if guest is > > busy because of interrupts and whatnot, it might not get to > > handling that in time ... > > See patch #3, that one should take care of a busy guest ... > > take care, > Gerd