diff mbox

Xen-unstable / Qemu-upstream: QMP server: Unsupported bus. Bus doesn't have property 'acpi-pcihp-bsel' set

Message ID 20170810164512.GH1519@perard.uk.xensource.com (mailing list archive)
State New, archived
Headers show

Commit Message

Anthony PERARD Aug. 10, 2017, 4:45 p.m. UTC
On Thu, Aug 10, 2017 at 03:00:56PM +0100, Anthony PERARD wrote:
> On Wed, Aug 09, 2017 at 06:34:43PM +0200, Sander Eikelenboom wrote:
> > L.S.,
> > 
> > It seems the xen qemu-upstream tree got updated from qemu upstream last week. 
> > Unfortunately a change breaks pci-passthrough for HVM's:
> >     libxl: error: libxl_qmp.c:287:qmp_handle_error_response: Domain 20:received an error message from QMP server: Unsupported bus. Bus doesn't have property 'acpi-pcihp-bsel' set
> >     libxl: error: libxl_pci.c:1293:libxl__add_pcidevs: Domain 20:libxl_device_pci_add failed: -3
> >     libxl: error: libxl_create.c:1458:domcreate_attach_devices: Domain 20:unable to add pci devices
> >     libxl: error: libxl_domain.c:1003:libxl__destroy_domid: Domain 20:Non-existant domain
> >     libxl: error: libxl_domain.c:962:domain_destroy_callback: Domain 20:Unable to destroy guest
> >     libxl: error: libxl_domain.c:889:domain_destroy_cb: Domain 20:Destruction of domain failed
> > 
> > The culprit is commit: "pc: pcihp: avoid adding ACPI_PCIHP_PROP_BSEL twice" (f0c9d64a68b776374ec4732424a3e27753ce37b6).
> > I verified that reverting this commit fixes the issue.
> 
> Thanks, I'll look into this.

Can you try with this patch?

Comments

Sander Eikelenboom Aug. 10, 2017, 5:44 p.m. UTC | #1
On 10/08/17 18:45, Anthony PERARD wrote:
> On Thu, Aug 10, 2017 at 03:00:56PM +0100, Anthony PERARD wrote:
>> On Wed, Aug 09, 2017 at 06:34:43PM +0200, Sander Eikelenboom wrote:
>>> L.S.,
>>>
>>> It seems the xen qemu-upstream tree got updated from qemu upstream last week. 
>>> Unfortunately a change breaks pci-passthrough for HVM's:
>>>     libxl: error: libxl_qmp.c:287:qmp_handle_error_response: Domain 20:received an error message from QMP server: Unsupported bus. Bus doesn't have property 'acpi-pcihp-bsel' set
>>>     libxl: error: libxl_pci.c:1293:libxl__add_pcidevs: Domain 20:libxl_device_pci_add failed: -3
>>>     libxl: error: libxl_create.c:1458:domcreate_attach_devices: Domain 20:unable to add pci devices
>>>     libxl: error: libxl_domain.c:1003:libxl__destroy_domid: Domain 20:Non-existant domain
>>>     libxl: error: libxl_domain.c:962:domain_destroy_callback: Domain 20:Unable to destroy guest
>>>     libxl: error: libxl_domain.c:889:domain_destroy_cb: Domain 20:Destruction of domain failed
>>>
>>> The culprit is commit: "pc: pcihp: avoid adding ACPI_PCIHP_PROP_BSEL twice" (f0c9d64a68b776374ec4732424a3e27753ce37b6).
>>> I verified that reverting this commit fixes the issue.
>>
>> Thanks, I'll look into this.
> 
> Can you try with this patch?

Hi Anthony,

Just tested the patch and it works for me, thanks!

--
Sander


> 
> diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
> index 6b7bade183..8cac3b3de3 100644
> --- a/hw/i386/acpi-build.c
> +++ b/hw/i386/acpi-build.c
> @@ -2857,6 +2857,8 @@ void acpi_setup(void)
>      AcpiBuildState *build_state;
>      Object *vmgenid_dev;
>  
> +    acpi_set_pci_info();
> +
>      if (!pcms->fw_cfg) {
>          ACPI_BUILD_DPRINTF("No fw cfg. Bailing out.\n");
>          return;
> @@ -2874,8 +2876,6 @@ void acpi_setup(void)
>  
>      build_state = g_malloc0(sizeof *build_state);
>  
> -    acpi_set_pci_info();
> -
>      acpi_build_tables_init(&tables);
>      acpi_build(&tables, MACHINE(pcms));
>  
> 
>
diff mbox

Patch

diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
index 6b7bade183..8cac3b3de3 100644
--- a/hw/i386/acpi-build.c
+++ b/hw/i386/acpi-build.c
@@ -2857,6 +2857,8 @@  void acpi_setup(void)
     AcpiBuildState *build_state;
     Object *vmgenid_dev;
 
+    acpi_set_pci_info();
+
     if (!pcms->fw_cfg) {
         ACPI_BUILD_DPRINTF("No fw cfg. Bailing out.\n");
         return;
@@ -2874,8 +2876,6 @@  void acpi_setup(void)
 
     build_state = g_malloc0(sizeof *build_state);
 
-    acpi_set_pci_info();
-
     acpi_build_tables_init(&tables);
     acpi_build(&tables, MACHINE(pcms));