1. 22 6月, 2012 1 次提交
  2. 18 6月, 2012 3 次提交
    • A
      qdev: Convert busses to QEMU Object Model · 0d936928
      Anthony Liguori 提交于
      This is far less interesting than it sounds.  We simply add an Object to each
      BusState and then register the types appropriately.  Most of the interesting
      refactoring will follow in the next patches.
      
      Since we're changing fundamental type names (BusInfo -> BusClass), it all needs
      to convert at once.  Fortunately, not a lot of code is affected.
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      [AF: Made all new bus TypeInfos static const.]
      [AF: Made qbus_free() call object_delete(), required {qom,glib}_allocated]
      Signed-off-by: NAndreas Färber <afaerber@suse.de>
      0d936928
    • P
      qdev: Move bus properties to abstract superclasses · bce54474
      Paolo Bonzini 提交于
      In qdev, each bus in practice identified an abstract superclass, but
      this was mostly hidden.  In QOM, instead, these abstract classes are
      explicit so we can move bus properties there.
      
      All bus property walks are removed, and all device property walks
      are changed to look along the class hierarchy instead.
      
      We would have duplicates if class A defines some properties and its
      subclass B does not define any, because class_b->props will be
      left equal to class_a->props.
      
      The solution here is to reintroduce the class_base_init TypeInfo
      callback, that was present in one of the early QOM versions but
      removed (on my request...) before committing.
      
      This breaks global bus properties, an obscure feature when used
      with the command-line which is actually useful and used when used by
      backwards-compatible machine types.  So this patch also adjusts the
      global bus properties in hw/pc_piix.c to refer to the abstract class.
      
      Globals and other properties must be modified in the same patch to
      avoid complications related to initialization ordering.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NAndreas Färber <afaerber@suse.de>
      bce54474
    • P
      qdev: Move bus properties to a separate global · 3cb75a7c
      Paolo Bonzini 提交于
      Simple code movement in order to simplify future refactoring.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NAndreas Färber <afaerber@suse.de>
      3cb75a7c
  3. 08 6月, 2012 1 次提交
  4. 07 6月, 2012 2 次提交
  5. 30 5月, 2012 1 次提交
    • Amos_沧海桑田's avatar
      pci: call object_unparent() before free_qdev() · a6de8ed8
      Amos_沧海桑田 提交于
      Start VM with 8 multiple-function block devs, hot-removing
      those block devs by 'device_del ...' would cause qemu abort.
      
      | (qemu) device_del virti0-0-0
      | (qemu) **
      |ERROR:qom/object.c:389:object_delete: assertion failed: (obj->ref == 0)
      
      It's a regression introduced by commit 57c9fafe
      
      The whole PCI slot should be removed once. Currently only one func
      is cleaned in pci_unplug_device(), if you try to remove a single
      func by monitor cmd.
      
      free_qdev() are called for all functions in slot,
      but unparent_delete() is only called for one
      function.
      
      Signed-off-by: XXXX
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      a6de8ed8
  6. 17 3月, 2012 1 次提交
  7. 16 3月, 2012 2 次提交
    • M
      pci: fix bridge IO/BASE · 68917102
      Michael S. Tsirkin 提交于
      commit 5caef97a16010f818ea8b950e2ee24ba876643ad introduced
      a regression: we do not make IO base/limit upper 16
      bit registers writeable, so we should report a 16 bit
      IO range type, not a 32 bit one.
      Note that PCI_PREF_RANGE_TYPE_32 is 0x0, but PCI_IO_RANGE_TYPE_32 is 0x1.
      
      In particular, this broke sparc64.
      
      Note: this just reverts to behaviour prior to the commit above.
      Making PCI_IO_BASE_UPPER16 and PCI_IO_LIMIT_UPPER16
      registers writeable should, and seems to, work just as well, but
      as no system seems to actually be interested in 32 bit IO,
      let's not make unnecessary changes.
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      68917102
    • M
      pci: set memory type for memory behind the bridge · 15ab7a75
      Michael S. Tsirkin 提交于
      As we make upper bits in IO and prefetcheable memory
      registers writeable, we should declare support
      for 64 bit prefetcheable memory and 32 bit io
      in the bridge.
      
      This changes the default for apb, dec, but I'm guessing
      they got the defaults wrong by accident.
      Alternatively, we could let bridges declare lack of
      64 bit support and make the upper bits read-only zero.
      Reported-by: NGerd Hoffmann <kraxel@redhat.com>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      15ab7a75
  8. 15 3月, 2012 3 次提交
  9. 22 2月, 2012 1 次提交
  10. 15 2月, 2012 1 次提交
  11. 04 2月, 2012 5 次提交
  12. 28 1月, 2012 4 次提交
  13. 22 1月, 2012 1 次提交
  14. 04 1月, 2012 1 次提交
    • A
      vmstate, memory: decouple vmstate from memory API · c5705a77
      Avi Kivity 提交于
      Currently creating a memory region automatically registers it for
      live migration.  This differs from other state (which is enumerated
      in a VMStateDescription structure) and ties the live migration code
      into the memory core.
      
      Decouple the two by introducing a separate API, vmstate_register_ram(),
      for registering a RAM block for migration.  Currently the same
      implementation is reused, but later it can be moved into a separate list,
      and registrations can be moved to VMStateDescription blocks.
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      c5705a77
  15. 27 10月, 2011 1 次提交
  16. 17 10月, 2011 1 次提交
  17. 25 9月, 2011 1 次提交
  18. 20 9月, 2011 2 次提交
  19. 10 9月, 2011 1 次提交
  20. 24 8月, 2011 1 次提交
  21. 22 8月, 2011 1 次提交
  22. 21 8月, 2011 1 次提交
  23. 08 8月, 2011 4 次提交