1. 09 4月, 2013 2 次提交
  2. 26 3月, 2013 6 次提交
  3. 19 3月, 2013 1 次提交
  4. 01 3月, 2013 2 次提交
    • P
      hw: include hw header files with full paths · 83c9f4ca
      Paolo Bonzini 提交于
      Done with this script:
      
      cd hw
      for i in `find . -name '*.h' | sed 's/^..//'`; do
        echo '\,^#.*include.*["<]'$i'[">], s,'$i',hw/&,'
      done | sed -i -f - `find . -type f`
      
      This is so that paths remain valid as files are moved.
      
      Instead, files in hw/dataplane are referenced with the relative path.
      We know they are not going to move to include/, and they are the only
      include files that are in subdirectories _and_ move.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      83c9f4ca
    • P
      hw: move qdev-monitor.o to toplevel directory · b4a42f81
      Paolo Bonzini 提交于
      qdev-monitor.c is the only "core qdev" file that is not used in
      user-mode emulation, and it does not define anything that is used
      by hardware models.  Remove it from the hw/ directory and
      remove hw/qdev-monitor.h from hw/qdev.h too; this requires
      some files to have some new explicitly includes.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      b4a42f81
  5. 11 1月, 2013 1 次提交
  6. 28 11月, 2012 2 次提交
    • D
      virtio-scsi: Fix subtle (guest) endian bug · 863d1050
      David Gibson 提交于
      The virtio-scsi config space is, by specification, in guest endian (which
      is ill-defined, but there you go).  In virtio_scsi_get_config() we set up
      all the fields in there, using stl_raw().  Which is a problem for the
      max_channel and max_target fields, which are 16-bit, not 32-bit.  For
      little-endian targets we get away with it by accident, since the first
      two bytes will still be correct, and the extra two bytes written (with
      zeroes) will be overwritten correctly by the next store.
      
      But for big-endian guests, this means the max_target field ends up as zero,
      which means the guest will only recognize a single disk on the virtio-scsi
      bus.  This patch fixes the problem.
      
      Cc: Paolo Bonzini <pbonzini@redhat.com>
      Cc: Paul 'Rusty' Russell <rusty@rustcorp.com.au>
      Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      863d1050
    • D
      virtio-scsi: Fix some endian bugs with virtio-scsi · 474ee55a
      David Gibson 提交于
      The virtio-scsi specification does not specify the correct endianness for
      fields in the request structure.  It's therefore best to assume that it is
      "guest native" endian since that's the (stupid and poorly defined) norm in
      virtio.
      
      However, the qemu device for virtio-scsi has no byteswaps at all, and so
      will break if the guest has different endianness from the host.  This patch
      fixes it by adding tswap() calls for the sense_len and resid fields in
      the request structure.  In theory status_qualifier needs swaps as well,
      but that field is never actually touched.  The tag field is a uint64_t, but
      since its value is completely arbitrary, it might as well be uint8_t[8]
      and so it does not need swapping.
      
      Cc: Paolo Bonzini <pbonzini@redhat.com>
      Cc: Paul 'Rusty' Russell <rusty@rustcorp.com.au>
      Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      474ee55a
  7. 12 11月, 2012 2 次提交
  8. 23 10月, 2012 1 次提交
    • A
      Rename target_phys_addr_t to hwaddr · a8170e5e
      Avi Kivity 提交于
      target_phys_addr_t is unwieldly, violates the C standard (_t suffixes are
      reserved) and its purpose doesn't match the name (most target_phys_addr_t
      addresses are not target specific).  Replace it with a finger-friendly,
      standards conformant hwaddr.
      
      Outstanding patchsets can be fixed up with the command
      
        git rebase -i --exec 'find -name "*.[ch]"
                              | xargs s/target_phys_addr_t/hwaddr/g' origin
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      a8170e5e
  9. 20 8月, 2012 1 次提交
  10. 09 8月, 2012 1 次提交
    • P
      virtio-scsi: do not compare 32-bit QEMU tags against 64-bit virtio-scsi tags · 4dd7c82c
      Paolo Bonzini 提交于
      This patch fixes a problem in handling task management functions
      in virtio-scsi.  The cause of the problem is a mismatch between
      the size of the tag in QEMU (32-bit) and virtio-scsi (64-bit).
      Changing the QEMU size is hard because the migration format
      uses 32 bits to store the tag; so just don't use the QEMU tag
      (virtio-scsi only uses the tag for task management functions
      anyway) and look up the full 64-bit tag in the hba_private field.
      
      The reproducer is a bit obscure.  If you cause an I/O timeout
      (for example with rerror=stop and doing 'cont' on the monitor
      continuously without fixing the error), sooner or later the
      guest will try to abort the command and reissue it.  At this
      point, QEMU will report _two_ errors instead of one when you
      hit 'c', because the first error has not been canceled correctly.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      4dd7c82c
  11. 27 7月, 2012 4 次提交
  12. 02 7月, 2012 1 次提交
  13. 18 6月, 2012 1 次提交
  14. 22 5月, 2012 1 次提交
  15. 19 4月, 2012 2 次提交
  16. 19 3月, 2012 1 次提交
  17. 24 2月, 2012 2 次提交
  18. 22 2月, 2012 3 次提交