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

Reply via email to