mbox

[PULL,00/21] pci,net,misc enhancements

Message ID 1371730033-5554-1-git-send-email-mst@redhat.com
State New
Headers show

Pull-request

git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_anthony

Message

Michael S. Tsirkin June 20, 2013, 1:08 p.m. UTC
From: Michael S. Tsirkin <mst@redhat.com>

The following changes since commit 90a2541b763b31d2b551b07e24aae3de5266d31b:

  target-i386: fix over 80 chars warnings (2013-06-15 17:50:38 +0000)

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 f96c30047009f8a9c3cecf68104d8d99f989f54d:

  pci: Fold host_buses list into PCIHostState functionality (2013-06-19 18:35:05 +0300)

----------------------------------------------------------------
pci,net,misc enhancements

This includes some pci and net-related enhancements:

Better support for systems with multiple PCI root buses
A new management interface for access to rx filter in NICs
KVM Speedup for MSI updates on kvm
FW cfg interface for more robust pci programming in BIOS
Minor fixes/cleanups for fw cfg and cross-version migration -
    because of dependencies with other patches

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

----------------------------------------------------------------
Amos Kong (1):
      net: add support of mac-programming over macvtap in QEMU side

Andrew Jones (1):
      e1000: cleanup process_tx_desc

David Gibson (10):
      pci: Cleanup configuration for pci-hotplug.c
      pci: Move pci_read_devaddr to pci-hotplug-old.c
      pci: Abolish pci_find_root_bus()
      pci: Use helper to find device's root bus in pci_find_domain()
      pci: Replace pci_find_domain() with more general pci_root_bus_path()
      pci: Add root bus argument to pci_get_bus_devfn()
      pci: Add root bus parameter to pci_nic_init()
      pci: Simpler implementation of primary PCI bus
      pci: Remove domain from PCIHostBus
      pci: Fold host_buses list into PCIHostState functionality

Michael S. Tsirkin (9):
      range: add Range structure
      pci: store PCI hole ranges in guestinfo structure
      pc: pass PCI hole ranges to Guests
      pc_piix: cleanup init compat handling
      kvm: zero-initialize KVM_SET_GSI_ROUTING input
      kvm: skip system call when msi route is unchanged
      MAINTAINERS: s/Marcelo/Paolo/
      pvpanic: initialization cleanup
      pvpanic: fix fwcfg for big endian hosts

 MAINTAINERS                                 |   2 +-
 QMP/qmp-events.txt                          |  17 ++++
 default-configs/i386-softmmu.mak            |   3 +-
 default-configs/ppc64-softmmu.mak           |   2 -
 default-configs/x86_64-softmmu.mak          |   3 +-
 hmp-commands.hx                             |   4 +-
 hw/alpha/dp264.c                            |   2 +-
 hw/arm/realview.c                           |   6 +-
 hw/arm/versatilepb.c                        |   2 +-
 hw/i386/pc.c                                |  74 ++++++++++++++-
 hw/i386/pc_piix.c                           |  40 +++++---
 hw/i386/pc_q35.c                            |  18 +++-
 hw/mips/mips_fulong2e.c                     |   6 +-
 hw/mips/mips_malta.c                        |   6 +-
 hw/misc/pvpanic.c                           |  31 ++++---
 hw/net/e1000.c                              |  18 ++--
 hw/net/virtio-net.c                         | 111 ++++++++++++++++++++++
 hw/pci-host/piix.c                          |   9 ++
 hw/pci-host/q35.c                           |  17 ++++
 hw/pci/Makefile.objs                        |   2 +-
 hw/pci/{pci-hotplug.c => pci-hotplug-old.c} |  75 ++++++++++++---
 hw/pci/pci.c                                | 137 ++++++++++++++--------------
 hw/pci/pci_host.c                           |   1 +
 hw/pci/pcie_aer.c                           |   9 +-
 hw/ppc/e500.c                               |   2 +-
 hw/ppc/mac_newworld.c                       |   2 +-
 hw/ppc/mac_oldworld.c                       |   2 +-
 hw/ppc/ppc440_bamboo.c                      |   2 +-
 hw/ppc/prep.c                               |   2 +-
 hw/ppc/spapr.c                              |   2 +-
 hw/ppc/spapr_pci.c                          |  10 ++
 hw/sh4/r2d.c                                |   5 +-
 hw/sparc64/sun4u.c                          |   2 +-
 include/hw/i386/pc.h                        |  22 ++++-
 include/hw/pci-host/q35.h                   |   2 +
 include/hw/pci/pci.h                        |  17 ++--
 include/hw/pci/pci_host.h                   |  12 +++
 include/monitor/monitor.h                   |   1 +
 include/net/net.h                           |   3 +
 include/qemu/range.h                        |  16 ++++
 include/qemu/typedefs.h                     |   1 +
 kvm-all.c                                   |  23 +++--
 monitor.c                                   |   1 +
 net/net.c                                   |  47 ++++++++++
 qapi-schema.json                            |  75 +++++++++++++++
 qmp-commands.hx                             |  63 +++++++++++++
 46 files changed, 733 insertions(+), 174 deletions(-)
 rename hw/pci/{pci-hotplug.c => pci-hotplug-old.c} (78%)

Comments

Anthony Liguori June 20, 2013, 7:02 p.m. UTC | #1
"Michael S. Tsirkin" <mst@redhat.com> writes:

> From: Michael S. Tsirkin <mst@redhat.com>
>
> The following changes since commit 90a2541b763b31d2b551b07e24aae3de5266d31b:
>
>   target-i386: fix over 80 chars warnings (2013-06-15 17:50:38 +0000)
>
> 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 f96c30047009f8a9c3cecf68104d8d99f989f54d:
>
>   pci: Fold host_buses list into PCIHostState functionality (2013-06-19 18:35:05 +0300)
>
> ----------------------------------------------------------------
> pci,net,misc enhancements

I don't like the amount of "misc" in this pull request but I'll take it
with appropriate acks.

>
> This includes some pci and net-related enhancements:
>
> Better support for systems with multiple PCI root buses
> A new management interface for access to rx filter in NICs
> KVM Speedup for MSI updates on kvm
> FW cfg interface for more robust pci programming in BIOS
> Minor fixes/cleanups for fw cfg and cross-version migration -
>     because of dependencies with other patches
>
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
>
> ----------------------------------------------------------------
> Amos Kong (1):
>       net: add support of mac-programming over macvtap in QEMU side
>
> Andrew Jones (1):
>       e1000: cleanup process_tx_desc
>
> David Gibson (10):
>       pci: Cleanup configuration for pci-hotplug.c
>       pci: Move pci_read_devaddr to pci-hotplug-old.c
>       pci: Abolish pci_find_root_bus()
>       pci: Use helper to find device's root bus in pci_find_domain()
>       pci: Replace pci_find_domain() with more general pci_root_bus_path()
>       pci: Add root bus argument to pci_get_bus_devfn()
>       pci: Add root bus parameter to pci_nic_init()
>       pci: Simpler implementation of primary PCI bus
>       pci: Remove domain from PCIHostBus
>       pci: Fold host_buses list into PCIHostState functionality
>
> Michael S. Tsirkin (9):
>       range: add Range structure
>       pci: store PCI hole ranges in guestinfo structure
>       pc: pass PCI hole ranges to Guests
>       pc_piix: cleanup init compat handling
>       kvm: zero-initialize KVM_SET_GSI_ROUTING input
>       kvm: skip system call when msi route is unchanged
>       MAINTAINERS: s/Marcelo/Paolo/

Shouldn't these be coming through the uq/master tree?  I haven't see a
pull for uq/master in a long time.  Does that tree still exist?

Would that be coming from Paolo or Gleb?  Can one of ya'll ack these
changes please.

Regards,

Anthony Liguori

>       pvpanic: initialization cleanup
>       pvpanic: fix fwcfg for big endian hosts
>
>  MAINTAINERS                                 |   2 +-
>  QMP/qmp-events.txt                          |  17 ++++
>  default-configs/i386-softmmu.mak            |   3 +-
>  default-configs/ppc64-softmmu.mak           |   2 -
>  default-configs/x86_64-softmmu.mak          |   3 +-
>  hmp-commands.hx                             |   4 +-
>  hw/alpha/dp264.c                            |   2 +-
>  hw/arm/realview.c                           |   6 +-
>  hw/arm/versatilepb.c                        |   2 +-
>  hw/i386/pc.c                                |  74 ++++++++++++++-
>  hw/i386/pc_piix.c                           |  40 +++++---
>  hw/i386/pc_q35.c                            |  18 +++-
>  hw/mips/mips_fulong2e.c                     |   6 +-
>  hw/mips/mips_malta.c                        |   6 +-
>  hw/misc/pvpanic.c                           |  31 ++++---
>  hw/net/e1000.c                              |  18 ++--
>  hw/net/virtio-net.c                         | 111 ++++++++++++++++++++++
>  hw/pci-host/piix.c                          |   9 ++
>  hw/pci-host/q35.c                           |  17 ++++
>  hw/pci/Makefile.objs                        |   2 +-
>  hw/pci/{pci-hotplug.c => pci-hotplug-old.c} |  75 ++++++++++++---
>  hw/pci/pci.c                                | 137 ++++++++++++++--------------
>  hw/pci/pci_host.c                           |   1 +
>  hw/pci/pcie_aer.c                           |   9 +-
>  hw/ppc/e500.c                               |   2 +-
>  hw/ppc/mac_newworld.c                       |   2 +-
>  hw/ppc/mac_oldworld.c                       |   2 +-
>  hw/ppc/ppc440_bamboo.c                      |   2 +-
>  hw/ppc/prep.c                               |   2 +-
>  hw/ppc/spapr.c                              |   2 +-
>  hw/ppc/spapr_pci.c                          |  10 ++
>  hw/sh4/r2d.c                                |   5 +-
>  hw/sparc64/sun4u.c                          |   2 +-
>  include/hw/i386/pc.h                        |  22 ++++-
>  include/hw/pci-host/q35.h                   |   2 +
>  include/hw/pci/pci.h                        |  17 ++--
>  include/hw/pci/pci_host.h                   |  12 +++
>  include/monitor/monitor.h                   |   1 +
>  include/net/net.h                           |   3 +
>  include/qemu/range.h                        |  16 ++++
>  include/qemu/typedefs.h                     |   1 +
>  kvm-all.c                                   |  23 +++--
>  monitor.c                                   |   1 +
>  net/net.c                                   |  47 ++++++++++
>  qapi-schema.json                            |  75 +++++++++++++++
>  qmp-commands.hx                             |  63 +++++++++++++
>  46 files changed, 733 insertions(+), 174 deletions(-)
>  rename hw/pci/{pci-hotplug.c => pci-hotplug-old.c} (78%)
Gleb Natapov June 20, 2013, 8:34 p.m. UTC | #2
On Thu, Jun 20, 2013 at 02:02:59PM -0500, Anthony Liguori wrote:
> "Michael S. Tsirkin" <mst@redhat.com> writes:
> 
> > From: Michael S. Tsirkin <mst@redhat.com>
> >
> > The following changes since commit 90a2541b763b31d2b551b07e24aae3de5266d31b:
> >
> >   target-i386: fix over 80 chars warnings (2013-06-15 17:50:38 +0000)
> >
> > 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 f96c30047009f8a9c3cecf68104d8d99f989f54d:
> >
> >   pci: Fold host_buses list into PCIHostState functionality (2013-06-19 18:35:05 +0300)
> >
> > ----------------------------------------------------------------
> > pci,net,misc enhancements
> 
> I don't like the amount of "misc" in this pull request but I'll take it
> with appropriate acks.
> 
> >
> > This includes some pci and net-related enhancements:
> >
> > Better support for systems with multiple PCI root buses
> > A new management interface for access to rx filter in NICs
> > KVM Speedup for MSI updates on kvm
> > FW cfg interface for more robust pci programming in BIOS
> > Minor fixes/cleanups for fw cfg and cross-version migration -
> >     because of dependencies with other patches
> >
> > Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> >
> > ----------------------------------------------------------------
> > Amos Kong (1):
> >       net: add support of mac-programming over macvtap in QEMU side
> >
> > Andrew Jones (1):
> >       e1000: cleanup process_tx_desc
> >
> > David Gibson (10):
> >       pci: Cleanup configuration for pci-hotplug.c
> >       pci: Move pci_read_devaddr to pci-hotplug-old.c
> >       pci: Abolish pci_find_root_bus()
> >       pci: Use helper to find device's root bus in pci_find_domain()
> >       pci: Replace pci_find_domain() with more general pci_root_bus_path()
> >       pci: Add root bus argument to pci_get_bus_devfn()
> >       pci: Add root bus parameter to pci_nic_init()
> >       pci: Simpler implementation of primary PCI bus
> >       pci: Remove domain from PCIHostBus
> >       pci: Fold host_buses list into PCIHostState functionality
> >
> > Michael S. Tsirkin (9):
> >       range: add Range structure
> >       pci: store PCI hole ranges in guestinfo structure
> >       pc: pass PCI hole ranges to Guests
> >       pc_piix: cleanup init compat handling
> >       kvm: zero-initialize KVM_SET_GSI_ROUTING input
> >       kvm: skip system call when msi route is unchanged
> >       MAINTAINERS: s/Marcelo/Paolo/
> 
> Shouldn't these be coming through the uq/master tree?  I haven't see a
> pull for uq/master in a long time.  Does that tree still exist?
> 
> Would that be coming from Paolo or Gleb?  Can one of ya'll ack these
> changes please.
> 
ACK. I should have taken it through KVM tree really, but since MST's
patch sending scripts depend on accurate MAINTAINERS information having
it in his tree saved Marcelo's inbox from a couple of dozens unwanted
emails.

--
			Gleb.
Anthony Liguori June 20, 2013, 8:46 p.m. UTC | #3
Gleb Natapov <gleb@redhat.com> writes:

> On Thu, Jun 20, 2013 at 02:02:59PM -0500, Anthony Liguori wrote:
>> "Michael S. Tsirkin" <mst@redhat.com> writes:
>> 
>> > From: Michael S. Tsirkin <mst@redhat.com>
>> >
>> > The following changes since commit 90a2541b763b31d2b551b07e24aae3de5266d31b:
>> >
>> >   target-i386: fix over 80 chars warnings (2013-06-15 17:50:38 +0000)
>> >
>> > 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 f96c30047009f8a9c3cecf68104d8d99f989f54d:
>> >
>> >   pci: Fold host_buses list into PCIHostState functionality (2013-06-19 18:35:05 +0300)
>> >
>> > ----------------------------------------------------------------
>> > pci,net,misc enhancements
>> 
>> I don't like the amount of "misc" in this pull request but I'll take it
>> with appropriate acks.
>> 
>> >
>> > This includes some pci and net-related enhancements:
>> >
>> > Better support for systems with multiple PCI root buses
>> > A new management interface for access to rx filter in NICs
>> > KVM Speedup for MSI updates on kvm
>> > FW cfg interface for more robust pci programming in BIOS
>> > Minor fixes/cleanups for fw cfg and cross-version migration -
>> >     because of dependencies with other patches
>> >
>> > Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
>> >
>> > ----------------------------------------------------------------
>> > Amos Kong (1):
>> >       net: add support of mac-programming over macvtap in QEMU side
>> >
>> > Andrew Jones (1):
>> >       e1000: cleanup process_tx_desc
>> >
>> > David Gibson (10):
>> >       pci: Cleanup configuration for pci-hotplug.c
>> >       pci: Move pci_read_devaddr to pci-hotplug-old.c
>> >       pci: Abolish pci_find_root_bus()
>> >       pci: Use helper to find device's root bus in pci_find_domain()
>> >       pci: Replace pci_find_domain() with more general pci_root_bus_path()
>> >       pci: Add root bus argument to pci_get_bus_devfn()
>> >       pci: Add root bus parameter to pci_nic_init()
>> >       pci: Simpler implementation of primary PCI bus
>> >       pci: Remove domain from PCIHostBus
>> >       pci: Fold host_buses list into PCIHostState functionality
>> >
>> > Michael S. Tsirkin (9):
>> >       range: add Range structure
>> >       pci: store PCI hole ranges in guestinfo structure
>> >       pc: pass PCI hole ranges to Guests
>> >       pc_piix: cleanup init compat handling
>> >       kvm: zero-initialize KVM_SET_GSI_ROUTING input
>> >       kvm: skip system call when msi route is unchanged
>> >       MAINTAINERS: s/Marcelo/Paolo/
>> 
>> Shouldn't these be coming through the uq/master tree?  I haven't see a
>> pull for uq/master in a long time.  Does that tree still exist?
>> 
>> Would that be coming from Paolo or Gleb?  Can one of ya'll ack these
>> changes please.
>> 
> ACK. I should have taken it through KVM tree really, but since MST's
> patch sending scripts depend on accurate MAINTAINERS information having
> it in his tree saved Marcelo's inbox from a couple of dozens unwanted
> emails.

Thanks.

Regards,

Anthony Liguori

>
> --
> 			Gleb.
Anthony Liguori June 21, 2013, 1:10 p.m. UTC | #4
"Michael S. Tsirkin" <mst@redhat.com> writes:

> From: Michael S. Tsirkin <mst@redhat.com>
>
> The following changes since commit 90a2541b763b31d2b551b07e24aae3de5266d31b:
>
>   target-i386: fix over 80 chars warnings (2013-06-15 17:50:38 +0000)
>
> 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 f96c30047009f8a9c3cecf68104d8d99f989f54d:
>
>   pci: Fold host_buses list into PCIHostState functionality
>   (2013-06-19 18:35:05 +0300)

SEGV's during pretty much any test I try to run during startup:

Core was generated by `/home/aliguori/build/qemu/x86_64-softmmu/qemu-system-x86_64 -kernel /usr/local/'.
Program terminated with signal 11, Segmentation fault.
#0  qemu_get_queue (nic=0x0) at /home/aliguori/git/qemu/net/net.c:263

warning: Source file is more recent than executable.
263	    return qemu_get_subqueue(nic, 0);
(gdb) bt
#0  qemu_get_queue (nic=0x0) at /home/aliguori/git/qemu/net/net.c:263
#1  0x00007f2d73fb2902 in virtio_net_device_init (vdev=0x7f2d75aeafe0)
    at /home/aliguori/git/qemu/hw/net/virtio-net.c:1484
#2  0x00007f2d73fbb426 in virtio_device_init (qdev=0x7f2d75aeafe0)
    at /home/aliguori/git/qemu/hw/virtio/virtio.c:1113
#3  0x00007f2d73e421c1 in device_realize (dev=0x7f2d75aeafe0, err=
    0x7fff85322420) at /home/aliguori/git/qemu/hw/core/qdev.c:178
#4  0x00007f2d73e43863 in device_set_realized (obj=0x7f2d75aeafe0, value=true, 
    err=0x7fff85322530) at /home/aliguori/git/qemu/hw/core/qdev.c:699
#5  0x00007f2d73f29a2e in property_set_bool (obj=0x7f2d75aeafe0, 
    v=<optimized out>, opaque=0x7f2d75af5b60, name=<optimized out>, errp=
    0x7fff85322530) at /home/aliguori/git/qemu/qom/object.c:1301
#6  0x00007f2d73f2c8e5 in object_property_set_qobject (obj=0x7f2d75aeafe0, 
    value=<optimized out>, name=0x7f2d740a4763 "realized", errp=0x7fff85322530)
    at /home/aliguori/git/qemu/qom/qom-qobject.c:24
#7  0x00007f2d73f2b6fe in object_property_set_bool (obj=obj@entry=
    0x7f2d75aeafe0, value=value@entry=true, name=name@entry=
    0x7f2d740a4763 "realized", errp=errp@entry=0x7fff85322530)
    at /home/aliguori/git/qemu/qom/object.c:852
#8  0x00007f2d73e427aa in qdev_init (dev=dev@entry=0x7f2d75aeafe0)
    at /home/aliguori/git/qemu/hw/core/qdev.c:163
#9  0x00007f2d73ee0079 in virtio_net_pci_init (vpci_dev=0x7f2d75aea790)
    at /home/aliguori/git/qemu/hw/virtio/virtio-pci.c:1403
---Type <return> to continue, or q <return> to quit---
#10 0x00007f2d73ee08af in virtio_pci_init (pci_dev=<optimized out>)
    at /home/aliguori/git/qemu/hw/virtio/virtio-pci.c:990
#11 0x00007f2d73e9706d in pci_qdev_init (qdev=0x7f2d75aea790)
    at /home/aliguori/git/qemu/hw/pci/pci.c:1717
#12 0x00007f2d73e421c1 in device_realize (dev=0x7f2d75aea790, err=
    0x7fff853226a0) at /home/aliguori/git/qemu/hw/core/qdev.c:178
#13 0x00007f2d73e43863 in device_set_realized (obj=0x7f2d75aea790, value=true, 
    err=0x7fff853227b0) at /home/aliguori/git/qemu/hw/core/qdev.c:699
#14 0x00007f2d73f29a2e in property_set_bool (obj=0x7f2d75aea790, 
    v=<optimized out>, opaque=0x7f2d75aed210, name=<optimized out>, errp=
    0x7fff853227b0) at /home/aliguori/git/qemu/qom/object.c:1301
#15 0x00007f2d73f2c8e5 in object_property_set_qobject (obj=0x7f2d75aea790, 
    value=<optimized out>, name=0x7f2d740a4763 "realized", errp=0x7fff853227b0)
    at /home/aliguori/git/qemu/qom/qom-qobject.c:24
#16 0x00007f2d73f2b6fe in object_property_set_bool (obj=obj@entry=
    0x7f2d75aea790, value=value@entry=true, name=name@entry=
    0x7f2d740a4763 "realized", errp=errp@entry=0x7fff853227b0)
    at /home/aliguori/git/qemu/qom/object.c:852
#17 0x00007f2d73e427aa in qdev_init (dev=dev@entry=0x7f2d75aea790)
    at /home/aliguori/git/qemu/hw/core/qdev.c:163
#18 0x00007f2d73f12f97 in qdev_device_add (opts=opts@entry=0x7f2d75aea5d0)
    at /home/aliguori/git/qemu/qdev-monitor.c:497
#19 0x00007f2d73f1339a in do_device_add (mon=<optimized out>, 
---Type <return> to continue, or q <return> to quit---
    qdict=<optimized out>, ret_data=<optimized out>)
    at /home/aliguori/git/qemu/qdev-monitor.c:609
#20 0x00007f2d73fd0568 in qmp_call_cmd (cmd=<optimized out>, params=
    0x7f2d75ae9380, mon=0x7f2d75a7a600)
    at /home/aliguori/git/qemu/monitor.c:4497
#21 handle_qmp_command (parser=<optimized out>, tokens=<optimized out>)
    at /home/aliguori/git/qemu/monitor.c:4563
#22 0x00007f2d740794ba in json_message_process_token (lexer=0x7f2d75a7a6b0, 
    token=0x7f2d75b47720, type=JSON_OPERATOR, x=129, y=0)
    at /home/aliguori/git/qemu/qobject/json-streamer.c:87
#23 0x00007f2d7408b9cf in json_lexer_feed_char (lexer=lexer@entry=
    0x7f2d75a7a6b0, ch=125 '}', flush=flush@entry=false)
    at /home/aliguori/git/qemu/qobject/json-lexer.c:303
#24 0x00007f2d7408bb16 in json_lexer_feed (lexer=0x7f2d75a7a6b0, 
    buffer=<optimized out>, size=<optimized out>)
    at /home/aliguori/git/qemu/qobject/json-lexer.c:356
#25 0x00007f2d740796d1 in json_message_parser_feed (parser=<optimized out>, 
    buffer=<optimized out>, size=<optimized out>)
    at /home/aliguori/git/qemu/qobject/json-streamer.c:110
#26 0x00007f2d73fceafb in monitor_control_read (opaque=<optimized out>, 
    buf=<optimized out>, size=<optimized out>)
    at /home/aliguori/git/qemu/monitor.c:4584
#27 0x00007f2d73f16381 in qemu_chr_be_write (len=<optimized out>, buf=
---Type <return> to continue, or q <return> to quit---
    0x7fff85322b20 "}\n", s=0x7f2d75a71a00)
    at /home/aliguori/git/qemu/qemu-char.c:165
#28 tcp_chr_read (chan=<optimized out>, cond=<optimized out>, opaque=
    0x7f2d75a71a00) at /home/aliguori/git/qemu/qemu-char.c:2467
#29 0x00007f2d73405a55 in g_main_context_dispatch ()
   from /lib64/libglib-2.0.so.0
#30 0x00007f2d73eec438 in glib_pollfds_poll ()
    at /home/aliguori/git/qemu/main-loop.c:188
#31 os_host_main_loop_wait (timeout=<optimized out>)
    at /home/aliguori/git/qemu/main-loop.c:233
#32 main_loop_wait (nonblocking=<optimized out>)
    at /home/aliguori/git/qemu/main-loop.c:465
#33 0x00007f2d73da35a1 in main_loop () at /home/aliguori/git/qemu/vl.c:2028
#34 main (argc=<optimized out>, argv=<optimized out>, envp=<optimized out>)
    at /home/aliguori/git/qemu/vl.c:4386



>
> ----------------------------------------------------------------
> pci,net,misc enhancements
>
> This includes some pci and net-related enhancements:
>
> Better support for systems with multiple PCI root buses
> A new management interface for access to rx filter in NICs
> KVM Speedup for MSI updates on kvm
> FW cfg interface for more robust pci programming in BIOS
> Minor fixes/cleanups for fw cfg and cross-version migration -
>     because of dependencies with other patches
>
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
>
> ----------------------------------------------------------------
> Amos Kong (1):
>       net: add support of mac-programming over macvtap in QEMU side
>
> Andrew Jones (1):
>       e1000: cleanup process_tx_desc
>
> David Gibson (10):
>       pci: Cleanup configuration for pci-hotplug.c
>       pci: Move pci_read_devaddr to pci-hotplug-old.c
>       pci: Abolish pci_find_root_bus()
>       pci: Use helper to find device's root bus in pci_find_domain()
>       pci: Replace pci_find_domain() with more general pci_root_bus_path()
>       pci: Add root bus argument to pci_get_bus_devfn()
>       pci: Add root bus parameter to pci_nic_init()
>       pci: Simpler implementation of primary PCI bus
>       pci: Remove domain from PCIHostBus
>       pci: Fold host_buses list into PCIHostState functionality
>
> Michael S. Tsirkin (9):
>       range: add Range structure
>       pci: store PCI hole ranges in guestinfo structure
>       pc: pass PCI hole ranges to Guests
>       pc_piix: cleanup init compat handling
>       kvm: zero-initialize KVM_SET_GSI_ROUTING input
>       kvm: skip system call when msi route is unchanged
>       MAINTAINERS: s/Marcelo/Paolo/
>       pvpanic: initialization cleanup
>       pvpanic: fix fwcfg for big endian hosts
>
>  MAINTAINERS                                 |   2 +-
>  QMP/qmp-events.txt                          |  17 ++++
>  default-configs/i386-softmmu.mak            |   3 +-
>  default-configs/ppc64-softmmu.mak           |   2 -
>  default-configs/x86_64-softmmu.mak          |   3 +-
>  hmp-commands.hx                             |   4 +-
>  hw/alpha/dp264.c                            |   2 +-
>  hw/arm/realview.c                           |   6 +-
>  hw/arm/versatilepb.c                        |   2 +-
>  hw/i386/pc.c                                |  74 ++++++++++++++-
>  hw/i386/pc_piix.c                           |  40 +++++---
>  hw/i386/pc_q35.c                            |  18 +++-
>  hw/mips/mips_fulong2e.c                     |   6 +-
>  hw/mips/mips_malta.c                        |   6 +-
>  hw/misc/pvpanic.c                           |  31 ++++---
>  hw/net/e1000.c                              |  18 ++--
>  hw/net/virtio-net.c                         | 111 ++++++++++++++++++++++
>  hw/pci-host/piix.c                          |   9 ++
>  hw/pci-host/q35.c                           |  17 ++++
>  hw/pci/Makefile.objs                        |   2 +-
>  hw/pci/{pci-hotplug.c => pci-hotplug-old.c} |  75 ++++++++++++---
>  hw/pci/pci.c                                | 137 ++++++++++++++--------------
>  hw/pci/pci_host.c                           |   1 +
>  hw/pci/pcie_aer.c                           |   9 +-
>  hw/ppc/e500.c                               |   2 +-
>  hw/ppc/mac_newworld.c                       |   2 +-
>  hw/ppc/mac_oldworld.c                       |   2 +-
>  hw/ppc/ppc440_bamboo.c                      |   2 +-
>  hw/ppc/prep.c                               |   2 +-
>  hw/ppc/spapr.c                              |   2 +-
>  hw/ppc/spapr_pci.c                          |  10 ++
>  hw/sh4/r2d.c                                |   5 +-
>  hw/sparc64/sun4u.c                          |   2 +-
>  include/hw/i386/pc.h                        |  22 ++++-
>  include/hw/pci-host/q35.h                   |   2 +
>  include/hw/pci/pci.h                        |  17 ++--
>  include/hw/pci/pci_host.h                   |  12 +++
>  include/monitor/monitor.h                   |   1 +
>  include/net/net.h                           |   3 +
>  include/qemu/range.h                        |  16 ++++
>  include/qemu/typedefs.h                     |   1 +
>  kvm-all.c                                   |  23 +++--
>  monitor.c                                   |   1 +
>  net/net.c                                   |  47 ++++++++++
>  qapi-schema.json                            |  75 +++++++++++++++
>  qmp-commands.hx                             |  63 +++++++++++++
>  46 files changed, 733 insertions(+), 174 deletions(-)
>  rename hw/pci/{pci-hotplug.c => pci-hotplug-old.c} (78%)
Michael S. Tsirkin June 23, 2013, 11:38 a.m. UTC | #5
On Fri, Jun 21, 2013 at 08:10:15AM -0500, Anthony Liguori wrote:
> "Michael S. Tsirkin" <mst@redhat.com> writes:
> 
> > From: Michael S. Tsirkin <mst@redhat.com>
> >
> > The following changes since commit 90a2541b763b31d2b551b07e24aae3de5266d31b:
> >
> >   target-i386: fix over 80 chars warnings (2013-06-15 17:50:38 +0000)
> >
> > 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 f96c30047009f8a9c3cecf68104d8d99f989f54d:
> >
> >   pci: Fold host_buses list into PCIHostState functionality
> >   (2013-06-19 18:35:05 +0300)
> 
> SEGV's during pretty much any test I try to run during startup:
> 
> Core was generated by `/home/aliguori/build/qemu/x86_64-softmmu/qemu-system-x86_64 -kernel /usr/local/'.
> Program terminated with signal 11, Segmentation fault.
> #0  qemu_get_queue (nic=0x0) at /home/aliguori/git/qemu/net/net.c:263


It's caused by the rx filter patch, sorry about not catching it.
I've fixed it up but will send a pull request without it,
so it can get a bit more testing.
Amos Kong June 24, 2013, 6:43 a.m. UTC | #6
On Sun, Jun 23, 2013 at 02:38:04PM +0300, Michael S. Tsirkin wrote:
> On Fri, Jun 21, 2013 at 08:10:15AM -0500, Anthony Liguori wrote:
> > "Michael S. Tsirkin" <mst@redhat.com> writes:
> > 
> > > From: Michael S. Tsirkin <mst@redhat.com>
> > >
> > > The following changes since commit 90a2541b763b31d2b551b07e24aae3de5266d31b:
> > >
> > >   target-i386: fix over 80 chars warnings (2013-06-15 17:50:38 +0000)
> > >
> > > 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 f96c30047009f8a9c3cecf68104d8d99f989f54d:
> > >
> > >   pci: Fold host_buses list into PCIHostState functionality
> > >   (2013-06-19 18:35:05 +0300)
> > 
> > SEGV's during pretty much any test I try to run during startup:
> > 
> > Core was generated by `/home/aliguori/build/qemu/x86_64-softmmu/qemu-system-x86_64 -kernel /usr/local/'.
> > Program terminated with signal 11, Segmentation fault.
> > #0  qemu_get_queue (nic=0x0) at /home/aliguori/git/qemu/net/net.c:263
> 
> 
> It's caused by the rx filter patch, sorry about not catching it.

If we don't assign 'id' for virtio-net nic device, crash[1] will occur.
Your fix is right for that.

But anthony's calltrace seems different from that.

> I've fixed it up but will send a pull request without it,
> so it can get a bit more testing.

BTW, we can use 'nc->name' to avoid the rx-filter crash[1].
I have sent a patch for mst/pci.