Patchwork [PULL,v4,00/18] pci,misc enhancements

login
register
mail settings
Submitter Michael S. Tsirkin
Date July 10, 2013, 3:27 p.m.
Message ID <20130710152735.GA23778@redhat.com>
Download mbox | patch
Permalink /patch/258111/
State New
Headers show

Comments

Michael S. Tsirkin - July 10, 2013, 3:27 p.m.
On Wed, Jul 10, 2013 at 03:30:01PM +0100, Stefano Stabellini wrote:
> On Wed, 10 Jul 2013, Michael S. Tsirkin wrote:
> > On Wed, Jul 10, 2013 at 03:11:27PM +0100, Stefano Stabellini wrote:
> > > On Sun, 7 Jul 2013, Michael S. Tsirkin wrote:
> > > > From: Michael S. Tsirkin <mst@redhat.com>
> > > > 
> > > > Changes from v3:
> > > >     - fix up xen build
> > > > 
> > > > Changes from v2:
> > > >     - rebased to origin/master
> > > >     - fixed up botched posting
> > > > 
> > > > The following changes since commit ab8bf29078e0ab8347e2ff8b4e5542f7a0c751cf:
> > > > 
> > > >   Merge remote-tracking branch 'qemu-kvm/uq/master' into staging (2013-07-03 08:37:00 -0500)
> > > > 
> > > > are available in the git repository at:
> > > > 
> > > > 
> > > >   git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_anthony
> > > > 
> > > > for you to fetch changes up to 7588e2b0559ae72d3c2952c7807fc05c03099970:
> > > > 
> > > >   pci: Fold host_buses list into PCIHostState functionality (2013-07-07 23:10:57 +0300)
> > > 
> > > This patch series breaks Xen support in QEMU.
> > > Unfortunately QEMU exits at boot time with no output, I'll try to get
> > > back to you with more info.
> > 
> > This is the main change for Xen:
> > 
> > -    bus = pci_find_root_bus(0);
> > +    bus = pci_find_primary_bus();
> > 
> > Could you please try 1ef7a2a2afedbba47e06af5081a8b4bf6dc1cf71
> > that made this change, and 1ef7a2a2afedbba47e06af5081a8b4bf6dc1cf71~1 
> > before it?
> > 
> 
> git bisect tells me that the problem is caused by:
> 
> commit f8c457b88d72a48989f190bc3d7b79f4f3b7d11c
> Author: Michael S. Tsirkin <mst@redhat.com>
> Date:   Mon May 13 20:00:23 2013 +0300
> 
>     pc: pass PCI hole ranges to Guests
>         


Does this help?
Stefano Stabellini - July 10, 2013, 3:34 p.m.
On Wed, 10 Jul 2013, Michael S. Tsirkin wrote:
> On Wed, Jul 10, 2013 at 03:30:01PM +0100, Stefano Stabellini wrote:
> > On Wed, 10 Jul 2013, Michael S. Tsirkin wrote:
> > > On Wed, Jul 10, 2013 at 03:11:27PM +0100, Stefano Stabellini wrote:
> > > > On Sun, 7 Jul 2013, Michael S. Tsirkin wrote:
> > > > > From: Michael S. Tsirkin <mst@redhat.com>
> > > > > 
> > > > > Changes from v3:
> > > > >     - fix up xen build
> > > > > 
> > > > > Changes from v2:
> > > > >     - rebased to origin/master
> > > > >     - fixed up botched posting
> > > > > 
> > > > > The following changes since commit ab8bf29078e0ab8347e2ff8b4e5542f7a0c751cf:
> > > > > 
> > > > >   Merge remote-tracking branch 'qemu-kvm/uq/master' into staging (2013-07-03 08:37:00 -0500)
> > > > > 
> > > > > are available in the git repository at:
> > > > > 
> > > > > 
> > > > >   git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_anthony
> > > > > 
> > > > > for you to fetch changes up to 7588e2b0559ae72d3c2952c7807fc05c03099970:
> > > > > 
> > > > >   pci: Fold host_buses list into PCIHostState functionality (2013-07-07 23:10:57 +0300)
> > > > 
> > > > This patch series breaks Xen support in QEMU.
> > > > Unfortunately QEMU exits at boot time with no output, I'll try to get
> > > > back to you with more info.
> > > 
> > > This is the main change for Xen:
> > > 
> > > -    bus = pci_find_root_bus(0);
> > > +    bus = pci_find_primary_bus();
> > > 
> > > Could you please try 1ef7a2a2afedbba47e06af5081a8b4bf6dc1cf71
> > > that made this change, and 1ef7a2a2afedbba47e06af5081a8b4bf6dc1cf71~1 
> > > before it?
> > > 
> > 
> > git bisect tells me that the problem is caused by:
> > 
> > commit f8c457b88d72a48989f190bc3d7b79f4f3b7d11c
> > Author: Michael S. Tsirkin <mst@redhat.com>
> > Date:   Mon May 13 20:00:23 2013 +0300
> > 
> >     pc: pass PCI hole ranges to Guests
> >         
> 
> 
> Does this help?
> 
> 
> diff --git a/hw/i386/pc.c b/hw/i386/pc.c
> index 9f9207d..c7fc475 100644
> --- a/hw/i386/pc.c
> +++ b/hw/i386/pc.c
> @@ -999,7 +999,7 @@ typedef struct PcRomPciInfo {
>  static void pc_fw_cfg_guest_info(PcGuestInfo *guest_info)
>  {
>      PcRomPciInfo *info;
> -    if (!guest_info->has_pci_info) {
> +    if (!guest_info->has_pci_info || !guest_info->fw_cfg) {
>          return;
>      }
>  

Yes, it does.
Can we introduce a couple of macros to test for fw_cfg availability?
Maybe they would help avoiding these issues in the future.
Michael S. Tsirkin - July 11, 2013, 11:53 a.m.
On Wed, Jul 10, 2013 at 04:34:30PM +0100, Stefano Stabellini wrote:
> On Wed, 10 Jul 2013, Michael S. Tsirkin wrote:
> > On Wed, Jul 10, 2013 at 03:30:01PM +0100, Stefano Stabellini wrote:
> > > On Wed, 10 Jul 2013, Michael S. Tsirkin wrote:
> > > > On Wed, Jul 10, 2013 at 03:11:27PM +0100, Stefano Stabellini wrote:
> > > > > On Sun, 7 Jul 2013, Michael S. Tsirkin wrote:
> > > > > > From: Michael S. Tsirkin <mst@redhat.com>
> > > > > > 
> > > > > > Changes from v3:
> > > > > >     - fix up xen build
> > > > > > 
> > > > > > Changes from v2:
> > > > > >     - rebased to origin/master
> > > > > >     - fixed up botched posting
> > > > > > 
> > > > > > The following changes since commit ab8bf29078e0ab8347e2ff8b4e5542f7a0c751cf:
> > > > > > 
> > > > > >   Merge remote-tracking branch 'qemu-kvm/uq/master' into staging (2013-07-03 08:37:00 -0500)
> > > > > > 
> > > > > > are available in the git repository at:
> > > > > > 
> > > > > > 
> > > > > >   git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_anthony
> > > > > > 
> > > > > > for you to fetch changes up to 7588e2b0559ae72d3c2952c7807fc05c03099970:
> > > > > > 
> > > > > >   pci: Fold host_buses list into PCIHostState functionality (2013-07-07 23:10:57 +0300)
> > > > > 
> > > > > This patch series breaks Xen support in QEMU.
> > > > > Unfortunately QEMU exits at boot time with no output, I'll try to get
> > > > > back to you with more info.
> > > > 
> > > > This is the main change for Xen:
> > > > 
> > > > -    bus = pci_find_root_bus(0);
> > > > +    bus = pci_find_primary_bus();
> > > > 
> > > > Could you please try 1ef7a2a2afedbba47e06af5081a8b4bf6dc1cf71
> > > > that made this change, and 1ef7a2a2afedbba47e06af5081a8b4bf6dc1cf71~1 
> > > > before it?
> > > > 
> > > 
> > > git bisect tells me that the problem is caused by:
> > > 
> > > commit f8c457b88d72a48989f190bc3d7b79f4f3b7d11c
> > > Author: Michael S. Tsirkin <mst@redhat.com>
> > > Date:   Mon May 13 20:00:23 2013 +0300
> > > 
> > >     pc: pass PCI hole ranges to Guests
> > >         
> > 
> > 
> > Does this help?
> > 
> > 
> > diff --git a/hw/i386/pc.c b/hw/i386/pc.c
> > index 9f9207d..c7fc475 100644
> > --- a/hw/i386/pc.c
> > +++ b/hw/i386/pc.c
> > @@ -999,7 +999,7 @@ typedef struct PcRomPciInfo {
> >  static void pc_fw_cfg_guest_info(PcGuestInfo *guest_info)
> >  {
> >      PcRomPciInfo *info;
> > -    if (!guest_info->has_pci_info) {
> > +    if (!guest_info->has_pci_info || !guest_info->fw_cfg) {
> >          return;
> >      }
> >  
> 
> Yes, it does.
> Can we introduce a couple of macros to test for fw_cfg availability?
> Maybe they would help avoiding these issues in the future.

Needs some thought, but let's fix this quickly so master isn't broken for
people.

Patch

diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index 9f9207d..c7fc475 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -999,7 +999,7 @@  typedef struct PcRomPciInfo {
 static void pc_fw_cfg_guest_info(PcGuestInfo *guest_info)
 {
     PcRomPciInfo *info;
-    if (!guest_info->has_pci_info) {
+    if (!guest_info->has_pci_info || !guest_info->fw_cfg) {
         return;
     }