1. 12 6月, 2015 1 次提交
  2. 04 6月, 2015 6 次提交
  3. 06 5月, 2015 1 次提交
    • E
      qapi: Drop inline nested structs in query-pci · 9fa02cd1
      Eric Blake 提交于
      A future patch will be using a 'name':{dictionary} entry in the
      QAPI schema to specify a default value for an optional argument
      (see previous commit message for more details why); but existing
      use of inline nested structs conflicts with that goal. This patch
      fixes one of only two commands relying on nested types, by
      breaking the nesting into an explicit type; it means that the
      type is now boxed instead of unboxed in C code, but the QMP wire
      format is unaffected by this change.
      
      Prefer the safer g_new0() while making the conversion, and reduce
      some long lines.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      9fa02cd1
  4. 28 4月, 2015 1 次提交
  5. 13 4月, 2015 1 次提交
    • T
      pci: Fix crash with illegal "-net nic, model=xxx" option · 4d0ecde4
      Thomas Huth 提交于
      Current QEMU crashes when specifying an illegal model with the
      "-net nic,model=xxx" option, e.g.:
      
       $ qemu-system-x86_64 -net nic,model=n/a
       qemu-system-x86_64: Unsupported NIC model: n/a
      
       Program received signal SIGSEGV, Segmentation fault.
      
      The gdb backtrace looks like this:
      
      0x0000555555965fe0 in error_get_pretty (err=0x0) at util/error.c:152
      152	    return err->msg;
      (gdb) bt
       0  0x0000555555965fe0 in error_get_pretty (err=0x0) at util/error.c:152
       1  0x0000555555965ffd in error_report_err (err=0x0) at util/error.c:157
       2  0x0000555555809c90 in pci_nic_init_nofail (nd=0x555555e49860 <nd_table>, rootbus=0x5555564409b0,
          default_model=0x55555598c37b "e1000", default_devaddr=0x0) at hw/pci/pci.c:1663
       3  0x0000555555691e42 in pc_nic_init (isa_bus=0x555556f71900, pci_bus=0x5555564409b0)
          at hw/i386/pc.c:1506
       4  0x000055555569396b in pc_init1 (machine=0x5555562abbf0, pci_enabled=1, kvmclock_enabled=1)
          at hw/i386/pc_piix.c:248
       5  0x0000555555693d27 in pc_init_pci (machine=0x5555562abbf0) at hw/i386/pc_piix.c:310
       6  0x000055555572ddf5 in main (argc=3, argv=0x7fffffffe018, envp=0x7fffffffe038) at vl.c:4226
      
      The problem is that pci_nic_init_nofail() does not check whether the err
      parameter from pci_nic_init has been set up and thus passes a NULL pointer
      to error_report_err(). Fix it by correctly checking the err parameter.
      Signed-off-by: NThomas Huth <thuth@redhat.com>
      Reviewed-by: NMichael S. Tsirkin <mst@redhat.com>
      Reviewed-by: NJason Wang <jasowang@redhat.com>
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      4d0ecde4
  6. 12 3月, 2015 1 次提交
  7. 01 3月, 2015 1 次提交
  8. 26 2月, 2015 2 次提交
  9. 18 2月, 2015 1 次提交
  10. 06 2月, 2015 1 次提交
    • A
      migration: Append JSON description of migration stream · 8118f095
      Alexander Graf 提交于
      One of the annoyances of the current migration format is the fact that
      it's not self-describing. In fact, it's not properly describing at all.
      Some code randomly scattered throughout QEMU elaborates roughly how to
      read and write a stream of bytes.
      
      We discussed an idea during KVM Forum 2013 to add a JSON description of
      the migration protocol itself to the migration stream. This patch
      adds a section after the VM_END migration end marker that contains
      description data on what the device sections of the stream are composed of.
      
      This approach is backwards compatible with any QEMU version reading the
      stream, because QEMU just stops reading after the VM_END marker and ignores
      any data following it.
      
      With an additional external program this allows us to decipher the
      contents of any migration stream and hopefully make migration bugs easier
      to track down.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      Signed-off-by: NAmit Shah <amit.shah@redhat.com>
      Signed-off-by: NJuan Quintela <quintela@redhat.com>
      8118f095
  11. 27 1月, 2015 1 次提交
  12. 02 11月, 2014 2 次提交
  13. 09 9月, 2014 1 次提交
  14. 02 9月, 2014 1 次提交
  15. 18 8月, 2014 1 次提交
  16. 06 7月, 2014 1 次提交
  17. 16 6月, 2014 1 次提交
  18. 24 5月, 2014 1 次提交
  19. 09 5月, 2014 1 次提交
  20. 06 5月, 2014 1 次提交
  21. 01 4月, 2014 1 次提交
  22. 13 3月, 2014 1 次提交
  23. 10 2月, 2014 2 次提交
  24. 26 1月, 2014 2 次提交
  25. 23 12月, 2013 3 次提交
    • 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
    • P
      pci: clean up resetting of IRQs · 9bdbbfc3
      Paolo Bonzini 提交于
      pci_device_reset will deassert the INTX pins, and this will make the
      irq_count array all-zeroes.  Check that this is the case, and remove
      the existing loop which might even unsync irq_count and irq_state.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      9bdbbfc3
    • P
      pci: do not export pci_bus_reset · 81e3e75b
      Paolo Bonzini 提交于
      qbus_reset_all can be used instead.  There is no semantic change
      because pcibus_reset returns 1 and takes care of the device
      tree traversal.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      81e3e75b
  26. 12 12月, 2013 1 次提交
  27. 21 11月, 2013 1 次提交
  28. 10 11月, 2013 1 次提交
    • M
      Revert "hw/pci: partially handle pci master abort" · 0fbf50b6
      Marcel Apfelbaum 提交于
      This reverts commit a53ae8e9.
      
      The patch being reverted introduced a low-priority memory region
      covering all 64 bit pci address space.  This exposed the following bugs
      elsewhere in the code:
       1. Some memory regions have INT64_MAX size, where the
          intent was all 64 bit address space.
          This results in a sub-page region, should be UINT64_MAX.
       2. page table rendering in exec.c ignores physical address bits
          above TARGET_PHYS_ADDR_SPACE_BITS.
          Access outside this range (e.g. from device DMA, or gdb stub)
          ends up with a wrong region.  Registering a region outside this
          range leads to page table corruption.
       3. Some regions overlap PCI hole and have same priority.
          This only works as long as no device uses the overlapping address.
      
      It doesn't look like we can resolve all issues in time for 1.7.
      Let's fix the bugs first and apply afterwards for 1.8.
      Signed-off-by: NMarcel Apfelbaum <marcel.a@redhat.com>
      Reviewed-by: NMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      0fbf50b6
  29. 14 10月, 2013 1 次提交