Skip to content
Snippets Groups Projects
  1. Apr 20, 2017
  2. Mar 19, 2017
  3. Mar 15, 2017
  4. Feb 16, 2017
  5. Feb 13, 2017
  6. Feb 06, 2017
  7. Jan 27, 2017
  8. Jan 16, 2017
  9. Jan 10, 2017
    • Jason Wang's avatar
      virtio: convert to use DMA api · 8607f5c3
      Jason Wang authored
      
      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: default avatarJason Wang <jasowang@redhat.com>
      Reviewed-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      8607f5c3
  10. Jan 09, 2017
  11. Dec 27, 2016
  12. Nov 23, 2016
  13. Nov 14, 2016
  14. Nov 07, 2016
  15. Oct 29, 2016
  16. Oct 28, 2016
  17. Oct 24, 2016
  18. Oct 17, 2016
  19. Oct 09, 2016
  20. Sep 13, 2016
    • Daniel P. Berrangé's avatar
      hw: replace most use of qemu_chr_fe_write with qemu_chr_fe_write_all · 6ab3fc32
      Daniel P. Berrangé authored
      The qemu_chr_fe_write method will return -1 on EAGAIN if the
      chardev backend write would block. Almost no callers of the
      qemu_chr_fe_write() method check the return value, instead
      blindly assuming data was successfully sent. In most cases
      this will lead to silent data loss on interactive consoles,
      but in some cases (eg RNG EGD) it'll just cause corruption
      of the protocol being spoken.
      
      We unfortunately can't fix the virtio-console code, due to
      a bug in the Linux guest drivers, which would cause the
      entire Linux kernel to hang if we delay processing of the
      incoming data in any way. Fixing this requires first fixing
      the guest driver to not hold spinlocks while writing to the
      hvc device backend.
      
      Fixes bug: https://bugs.launchpad.net/qemu/+bug/1586756
      
      
      
      Signed-off-by: default avatarDaniel P. Berrange <berrange@redhat.com>
      Message-Id: <1473170165-540-4-git-send-email-berrange@redhat.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      6ab3fc32
    • Daniel P. Berrangé's avatar
      sclpconsolelm: remove bogus check for -EAGAIN · 7983e829
      Daniel P. Berrangé authored
      
      The write_console_data() method in sclpconsole-lm.c checks
      whether the return value of qemu_chr_fe_write() has the
      value of -EAGAIN and if so then increments the buffer offset
      by the value of EAGAIN. Fortunately qemu_chr_fe_write() will
      never return EAGAIN directly, rather it returns -1 with
      errno set to EAGAIN, so this broken code path was not
      reachable. The behaviour on EAGAIN was stil bad though,
      causing the write_console_data() to busy_wait repeatedly
      calling qemu_chr_fe_write() with no sleep between iters.
      
      Just remove all this loop logic and replace with a call
      to qemu_chr_fe_write_all().
      
      Acked-by: default avatarCornelia Huck <cornelia.huck@de.ibm.com>
      Signed-off-by: default avatarDaniel P. Berrange <berrange@redhat.com>
      Message-Id: <1473170165-540-3-git-send-email-berrange@redhat.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      7983e829
Loading