1. 10 6月, 2014 3 次提交
  2. 28 5月, 2014 1 次提交
  3. 20 5月, 2014 3 次提交
  4. 14 5月, 2014 1 次提交
  5. 08 5月, 2014 1 次提交
  6. 07 5月, 2014 1 次提交
    • C
      s390x/css: Don't save orb in subchannel. · 56bf1a8e
      Cornelia Huck 提交于
      Current css code saves the operation request block (orb) in the
      subchannel structure for later consumption by the start function
      handler. This might make sense for asynchronous execution of the
      start function (which qemu doesn't support), but not in our case;
      it would even be wrong since orb contains a reference to a local
      variable in the base ssch handler.
      
      Let's just pass the orb through the start function call chain for
      ssch; for rsch, we can pass NULL as the backend function does not
      use any information passed via the orb there.
      Acked-by: NChristian Borntraeger <borntraeger@de.ibm.com>
      Signed-off-by: NCornelia Huck <cornelia.huck@de.ibm.com>
      56bf1a8e
  7. 20 3月, 2014 2 次提交
    • S
      qom: Add check() argument to object_property_add_link() · 39f72ef9
      Stefan Hajnoczi 提交于
      There are currently three types of object_property_add_link() callers:
      
      1. The link property may be set at any time.
      2. The link property of a DeviceState instance may only be set before
         realize.
      3. The link property may never be set, it is read-only.
      
      Something similar can already be achieved with
      object_property_add_str()'s set() argument.  Follow its example and add
      a check() argument to object_property_add_link().
      
      Also provide default check() functions for case #1 and #2.  Case #3 is
      covered by passing a NULL function pointer.
      
      Cc: Peter Crosthwaite <peter.crosthwaite@petalogix.com>
      Cc: Alexander Graf <agraf@suse.de>
      Cc: Anthony Liguori <aliguori@amazon.com>
      Cc: "Michael S. Tsirkin" <mst@redhat.com>
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      Reviewed-by: NPaolo Bonzini <pbonzini@redhat.com>
      [AF: Tweaked documentation comment]
      Signed-off-by: NAndreas Färber <afaerber@suse.de>
      39f72ef9
    • S
      qom: Make QOM link property unref optional · 9561fda8
      Stefan Hajnoczi 提交于
      Some object_property_add_link() callers expect property deletion to
      unref the link property object.  Other callers expect to manage the
      refcount themselves.  The former are currently broken and therefore leak
      the link property object.
      
      This patch adds a flags argument to object_property_add_link() so the
      caller can specify which refcount behavior they require.  The new
      OBJ_PROP_LINK_UNREF_ON_RELEASE flag causes the link pointer to be
      unreferenced when the property is deleted.
      
      This fixes refcount leaks in qdev.c, xilinx_axidma.c, xilinx_axienet.c,
      s390-virtio-bus.c, virtio-pci.c, virtio-rng.c, and ui/console.c.
      
      Rationale for refcount behavior:
      
       * hw/core/qdev.c
         - bus children are explicitly unreferenced, don't interfere
         - parent_bus is essentially a read-only property that doesn't hold a
           refcount, don't unref
         - hotplug_handler is leaked, do unref
      
       * hw/dma/xilinx_axidma.c
         - rx stream "dma" links are set using set_link, therefore they
           need unref
         - tx streams are set using set_link, therefore they need unref
      
       * hw/net/xilinx_axienet.c
         - same reasoning as hw/dma/xilinx_axidma.c
      
       * hw/pcmcia/pxa2xx.c
         - pxa2xx bypasses set_link and therefore does not use refcounts
      
       * hw/s390x/s390-virtio-bus.c
       * hw/virtio/virtio-pci.c
       * hw/virtio/virtio-rng.c
       * ui/console.c
         - set_link is used and there is no explicit unref, do unref
      
      Cc: Peter Crosthwaite <peter.crosthwaite@petalogix.com>
      Cc: Alexander Graf <agraf@suse.de>
      Cc: Anthony Liguori <aliguori@amazon.com>
      Cc: "Michael S. Tsirkin" <mst@redhat.com>
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      Reviewed-by: NPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NAndreas Färber <afaerber@suse.de>
      9561fda8
  8. 18 3月, 2014 2 次提交
    • C
      s390x/cpu hotplug: Fix memory leak · 7b53f294
      Christian Borntraeger 提交于
      valgrind complains about the following:
      ==42117== 8 bytes in 1 blocks are definitely lost in loss record 88 of 833
      ==42117==    at 0x4031AFE: malloc (vg_replace_malloc.c:292)
      ==42117==    by 0x8022F855: malloc_and_trace (vl.c:2715)
      ==42117==    by 0x4145569: g_malloc (in /usr/lib64/libglib-2.0.so.0.3400.2)
      ==42117==    by 0x800F696D: qemu_extend_irqs (irq.c:51)
      ==42117==    by 0x800F6AF7: qemu_allocate_irqs (irq.c:68)
      ==42117==    by 0x8029FA4B: irq_cpu_hotplug_init (sclpcpu.c:84)
      ==42117==    by 0x80297C79: event_realize (event-facility.c:386)
      ==42117==    by 0x80105071: device_set_realized (qdev.c:693)
      [...]
      
      Right it is. Don't drop the pointer of the irq.
      Signed-off-by: NChristian Borntraeger <borntraeger@de.ibm.com>
      Reviewed-by: NJason J. Herne <jjherne@us.ibm.com>
      7b53f294
    • C
      s390/ipl: Fix error path on BIOS loading · 0a1bec8a
      Christian Borntraeger 提交于
      commit 18674b26
      (elf-loader: add more return codes) enabled the elf loader to return
      other errors than -1.
      
      Lets also handle that case for our "BIOS" on s390.
      Signed-off-by: NChristian Borntraeger <borntraeger@de.ibm.com>
      CC: Alexey Kardashevskiy <aik@ozlabs.ru>
      CC: Alexander Graf <agraf@suse.de>
      0a1bec8a
  9. 14 3月, 2014 1 次提交
  10. 05 3月, 2014 2 次提交
  11. 27 2月, 2014 11 次提交
  12. 11 2月, 2014 7 次提交
  13. 21 1月, 2014 3 次提交
  14. 23 12月, 2013 2 次提交
    • P
      qdev: switch reset to post-order · dcc20931
      Paolo Bonzini 提交于
      Post-order is the only sensible direction for the reset signals.
      For example, suppose pre-order is used and the parent has some data
      structures that cache children state (for example a list of active
      requests).  When the reset method is invoked on the parent, these caches
      could be in any state.
      
      If post-order is used, on the other hand, these will be in a known state
      when the reset method is invoked on the parent.
      
      This change means that it is no longer possible to block the visit of
      the devices, so the callback is changed to return void.  This is not
      a problem, because PCI was returning 1 exactly in order to achieve the
      same ordering that this patch implements.
      
      PCI can then rely on the qdev core having sent a "reset signal" (whatever
      that means) to the device, and only do the PCI-specific initialization
      with pci_do_device_reset.
      
      MST: fixed up virtio-ccw
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      dcc20931
    • M
      sysbus: Set cannot_instantiate_with_device_add_yet · 837d3716
      Markus Armbruster 提交于
      device_add plugs devices into suitable bus.  For "real" buses, that
      actually connects the device.  For sysbus, the connections need to be
      made separately, and device_add can't do that.  The device would be
      left unconnected, and could not possibly work.
      
      Quite a few, but not all sysbus devices already set
      cannot_instantiate_with_device_add_yet in their class init function.
      
      Set it in their abstract base's class init function
      sysbus_device_class_init(), and remove the now redundant assignments
      from device class init functions.
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      Reviewed-by: NMarcel Apfelbaum <marcel.a@redhat.com>
      Signed-off-by: NAndreas Färber <afaerber@suse.de>
      837d3716