On Wed, Jul 22, 2020 at 07:17:21PM +0300, Maxim Levitsky wrote:
> As described in bugzilla #1854264 it is possible to plug
> a pcie device and then unplug it before the guest notices
> (has time to process the attention button press)
>
> To partially fix this issue, detect and refuse the hotunplug event.
>
> There are other ways to fix this, which is why I am sending this as RFC:
>
> 1. Queue/remember the unplug event and fire it (press the attention button again),
> when the guest clears its pending status.
> According to the spec this should cancel the hotplug event in the guest
> if done within 5 seconds (and I think that guest actually should wait 5 seconds
> after attention button is pressed before plugging in the device too to be strictly
> up to the spec)
>
> 2. Detect that device isn't yet powered on by the guest (for example
> checking the bus master bit) or check that attention button is still
> pressed and in this case just unplug the device immediately.
I think 2 or failing that 1 would be preferable.
> Best regards,
> Maxim Levitsky
>
> Maxim Levitsky (1):
> pci/pcie: refuse another hotplug/unplug event if attention button is
> pending
>
> hw/pci/pcie.c | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> --
> 2.26.2
>