> On Apr 29, 2020, at 2:26 PM, Michael S. Tsirkin <m...@redhat.com> wrote: > > Even if it seems to work for guests now, if we don't stick to emulating > capabilities that hardware interfaces provide we can never be sure it > will keep working.
OS es use ACPI for PCI bridges: https://github.com/qemu/qemu/blob/master/docs/pcie.txt They use “_EJ0” to detect jot unplug capability: https://uefi.org/sites/default/files/resources/ACPI_3.pdf 6.3.3 _EJx (Eject) These control methods are optional and are supplied for devices that support a software-controlled VCRstyle ejection mechanism or that require an action be performed such as isolation of power/data lines before the device can be removed from the system. To support warm (system is in a sleep state) and hot (system is in S0) removal, an _EJx control method is listed for each sleep state from which the device supports removal, where x is the sleeping state supported. For example, _EJ0 indicates the device supports hot removal; _EJ1–EJ4 indicate the device supports warm removal. Note that “these control methods are optional” line. If the OS adheres to the spec, it should not expect them to exist all the time.