1. 10 1月, 2017 1 次提交
    • J
      virtio: convert to use DMA api · 8607f5c3
      Jason Wang 提交于
      Currently, all virtio devices bypass IOMMU completely. This is because
      address_space_memory is assumed and used during DMA emulation. This
      patch converts the virtio core API to use DMA API. This idea is
      
      - introducing a new transport specific helper to query the dma address
        space. (only pci version is implemented).
      - query and use this address space during virtio device guest memory
        accessing when iommu platform (VIRTIO_F_IOMMU_PLATFORM) was enabled
        for this device.
      
      Cc: Michael S. Tsirkin <mst@redhat.com>
      Cc: Stefan Hajnoczi <stefanha@redhat.com>
      Cc: Kevin Wolf <kwolf@redhat.com>
      Cc: Amit Shah <amit.shah@redhat.com>
      Cc: Paolo Bonzini <pbonzini@redhat.com>
      Cc: qemu-block@nongnu.org
      Signed-off-by: NJason Wang <jasowang@redhat.com>
      Reviewed-by: NMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      8607f5c3
  2. 10 10月, 2016 5 次提交
  3. 22 7月, 2016 2 次提交
  4. 23 3月, 2016 1 次提交
    • M
      include/qemu/osdep.h: Don't include qapi/error.h · da34e65c
      Markus Armbruster 提交于
      Commit 57cb38b3 included qapi/error.h into qemu/osdep.h to get the
      Error typedef.  Since then, we've moved to include qemu/osdep.h
      everywhere.  Its file comment explains: "To avoid getting into
      possible circular include dependencies, this file should not include
      any other QEMU headers, with the exceptions of config-host.h,
      compiler.h, os-posix.h and os-win32.h, all of which are doing a
      similar job to this file and are under similar constraints."
      qapi/error.h doesn't do a similar job, and it doesn't adhere to
      similar constraints: it includes qapi-types.h.  That's in excess of
      100KiB of crap most .c files don't actually need.
      
      Add the typedef to qemu/typedefs.h, and include that instead of
      qapi/error.h.  Include qapi/error.h in .c files that need it and don't
      get it now.  Include qapi-types.h in qom/object.h for uint16List.
      
      Update scripts/clean-includes accordingly.  Update it further to match
      reality: replace config.h by config-target.h, add sysemu/os-posix.h,
      sysemu/os-win32.h.  Update the list of includes in the qemu/osdep.h
      comment quoted above similarly.
      
      This reduces the number of objects depending on qapi/error.h from "all
      of them" to less than a third.  Unfortunately, the number depending on
      qapi-types.h shrinks only a little.  More work is needed for that one.
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      [Fix compilation without the spice devel packages. - Paolo]
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      da34e65c
  5. 07 2月, 2016 2 次提交
  6. 29 1月, 2016 1 次提交
  7. 13 1月, 2016 1 次提交
  8. 29 10月, 2015 1 次提交
  9. 10 9月, 2015 1 次提交
  10. 27 7月, 2015 2 次提交
  11. 23 6月, 2015 1 次提交
  12. 11 6月, 2015 1 次提交
  13. 01 6月, 2015 1 次提交
  14. 31 5月, 2015 1 次提交
  15. 28 4月, 2015 1 次提交
  16. 25 3月, 2015 1 次提交
  17. 19 3月, 2015 1 次提交
    • A
      virtio: serial: expose a 'guest_writable' callback for users · 4add73aa
      Amit Shah 提交于
      Users of virtio-serial may want to know when a port becomes writable.  A
      port can stop accepting writes if the guest port is open but not being
      read from.  In this case, data gets queued up in the virtqueue, and
      after the vq is full, writes to the port do not succeed.
      
      When the guest reads off a vq element, and adds a new one for the host
      to put data in, we can tell users the port is available for more writes,
      via the new ->guest_writable() callback.
      Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
      Signed-off-by: NAmit Shah <amit.shah@redhat.com>
      4add73aa
  18. 11 3月, 2015 1 次提交
  19. 26 2月, 2015 4 次提交
  20. 10 2月, 2015 1 次提交
  21. 05 1月, 2015 2 次提交
  22. 07 11月, 2014 1 次提交
    • M
      virtio-serial: avoid crash when port has no name · 7eb73114
      Marc-André Lureau 提交于
      It seems "name" is not mandatory, and the following command line (based
      on one generated by current libvirt) will crash qemu at start:
      
      qemu-system-x86_64 \
          -device virtio-serial-pci \
          -device virtserialport,name=foo \
          -device virtconsole
      
      Program received signal SIGSEGV, Segmentation fault.
      __strcmp_ssse3 () at ../sysdeps/x86_64/strcmp.S:210
      210        movlpd    (%rsi), %xmm2
      Missing separate debuginfos, use: debuginfo-install
      python-libs-2.7.5-13.fc20.x86_64
      (gdb) bt
       #0  __strcmp_ssse3 () at ../sysdeps/x86_64/strcmp.S:210
       #1  0x000055555566bdc6 in find_port_by_name (name=0x0) at /home/elmarco/src/qemu/hw/char/virtio-serial-bus.c:67
      Signed-off-by: NMarc-André Lureau <marcandre.lureau@gmail.com>
      Reviewed-by: NAmos Kong <akong@redhat.com>
      Signed-off-by: NAmit Shah <amit.shah@redhat.com>
      7eb73114
  23. 15 10月, 2014 1 次提交
  24. 19 8月, 2014 2 次提交
  25. 16 7月, 2014 1 次提交
    • A
      virtio-serial-bus: keep port 0 reserved for virtconsole even on unplug · 57d84cf3
      Amit Shah 提交于
      We keep port 0 reserved for compat with older guests, where only
      virtio-console was expected.  Even if a system is started without a
      virtio-console port, port #0 is kept aside.  However, after a
      virtconsole port is unplugged, port id 0 became available, and the next
      hotplug of a virtserialport caused failure due to it not being a console
      port.
      
      Steps to reproduce:
      
      $ ./x86_64-softmmu/qemu-system-x86_64 -m 512 -cpu host -enable-kvm -device virtio-serial-pci -monitor stdio  -vnc :1
      QEMU 2.0.91 monitor - type 'help' for more information
      (qemu) device_add virtconsole,id=p1
      (qemu) device_del p1
      (qemu) device_add virtserialport,id=p1
      Port number 0 on virtio-serial devices reserved for virtconsole devices for backward compatibility.
      Device 'virtserialport' could not be initialized
      (qemu) quit
      Reported-by: Ndengmin <mdeng@redhat.com>
      Reviewed-by: NAmos Kong <akong@redhat.com>
      Reviewed-by: NPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NAmit Shah <amit.shah@redhat.com>
      57d84cf3
  26. 30 6月, 2014 3 次提交