On 22/03/21 07:39, David Gibson wrote:
QEMU doesn't really keep track of "in flight" unplug requests, and as
long as that's the case, its timeout even will have the same issue.
Not generically, maybe. In the PAPR code we effectively do, by means
of the 'unplug_requested' boolean in the DRC structure. Maybe that's
a mistake, but at the time I couldn't see how else to handle things.
No, that's good. x86 also tracks it in some registers that are
accessible from the ACPI firmware. See "PCI slot removal notification"
in docs/specs/acpi_pci_hotplug.txt.
Currently we will resolve all "in flight" requests at machine reset
time, effectively completing those requests. Does that differ from
x86 behaviour?
IIRC on x86 the requests are instead cancelled, but I'm not 100% sure.
Paolo