qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2] i440fx/acpi: disable hotplug of cold plugged bridges rega


From: Ani Sinha
Subject: Re: [PATCH v2] i440fx/acpi: disable hotplug of cold plugged bridges regarldless of hotplug switch
Date: Fri, 4 Sep 2020 19:34:53 +0530

On Fri, Sep 4, 2020 at 7:09 PM Ani Sinha <ani@anisinha.ca> wrote:
>
> On Sep 4, 2020, 18:59 +0530, Philippe Mathieu-Daudé <philmd@redhat.com>, 
> wrote:
>
> Hi Ani,
>
>
> On 9/4/20 2:44 PM, Ani Sinha wrote:
>
> Cold plugged bridges should not be hot unpluggable, even when their hotplug
>
> property (acpi-pci-hotplug-with-bridge-support) is turned off. However, with
>
> the current implementaton, windows would try to hot-unplug a pci bridge when
>
> it's hotplug switch is off. This is regardless of whether there are devices
>
> attached to the bridge. When devices are attached to the bridge, the bridge
>
> is ultimately not hot-unpluggable. We have a demo video here:
>
> https://youtu.be/pME2sjyQweo
>
>
> In this fix, we identify a cold plugged bridge and for cold plugged bridges,
>
> we do not add the appropriate amls and acpi methods that are used by the OS
>
> to identify a hot-unpluggable pci device. After this change, Windows does not
>
> show an option to eject the PCI bridge. A demo video is here:
>
> https://youtu.be/kbgej5B9Hgs
>
>
> While at it, I have also updated a stale comment.
>
>
> This change is tested with a Windows 2012R2 guest image and Windows 2019 
> server
>
> guest image running on Ubuntu 18.04 host. This change is based off of upstream
>
> qemu master branch tag v5.1.0.
>
>
> Can you add a test reproducer?
>
>
> Looking at tests/qtest/virtio-rng-test.c it shouldn't be that
>
> hard / time consuming.

I think this test is hotplugging a bridge through the qmp command.
This test does not apply here as we are talking about cold plugged
bridges and making sure cold plugged bridges are not ejectable.
If you have a test infra to test such a case, please let me know.

>
> I can add a unit test. If you look at the disassembled DSDT table, you can 
> easily see that it’s adding the EJ0 method for the slot in which the bridge 
> is attached.

The unit test will capture this change perfectly. It will compare the
generated AML against expected AML and fail if they don't match.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]