1. 24 Jan, 2018 1 commit
  2. 18 Jan, 2018 1 commit
  3. 09 Jan, 2018 1 commit
  4. 25 Oct, 2017 1 commit
  5. 10 Oct, 2017 1 commit
  6. 21 Sep, 2017 1 commit
    • Paolo Bonzini's avatar
      scsi, file-posix: add support for persistent reservation management · 7c9e5276
      Paolo Bonzini authored
      It is a common requirement for virtual machine to send persistent
      reservations, but this currently requires either running QEMU with
      CAP_SYS_RAWIO, or using out-of-tree patches that let an unprivileged
      QEMU bypass Linux's filter on SG_IO commands.
      
      As an alternative mechanism, the next patches will introduce a
      privileged helper to run persistent reservation commands without
      expanding QEMU's attack surface unnecessarily.
      
      The helper is invoked through a "pr-manager" QOM object, to which
      file-posix.c passes SG_IO requests for PERSISTENT RESERVE OUT and
      PERSISTENT RESERVE IN commands.  For example:
      
        $ qemu-system-x86_64
            -device virtio-scsi \
            -object pr-manager-helper,id=helper0,path=/var/run/qemu-pr-helper.sock
            -drive if=none,id=hd,driver=raw,file.filename=/dev/sdb,file.pr-manager=helper0
            -device scsi-block,drive=hd
      
      or:
      
        $ qemu-system-x86_64
            -device virtio-scsi \
            -object pr-manager-helper,id=helper0,path=/var/run/qemu-pr-helper.sock
            -blockdev node-name=hd,driver=raw,file.driver=host_device,file.filename=/dev/sdb,file.pr-manager=helper0
            -device scsi-block,drive=hd
      
      Multiple pr-manager implementations are conceivable and possible, though
      only one is implemented right now.  For example, a pr-manager could:
      
      - talk directly to the multipath daemon from a privileged QEMU
        (i.e. QEMU links to libmpathpersist); this makes reservation work
        properly with multipath, but still requires CAP_SYS_RAWIO
      
      - use the Linux IOC_PR_* ioctls (they require CAP_SYS_ADMIN though)
      
      - more interestingly, implement reservations directly in QEMU
        through file system locks or a shared database (e.g. sqlite)
      Signed-off-by: 's avatarPaolo Bonzini <pbonzini@redhat.com>
      7c9e5276
  7. 19 Sep, 2017 1 commit
  8. 18 Sep, 2017 1 commit
  9. 15 Sep, 2017 1 commit
  10. 20 Jul, 2017 1 commit
  11. 11 Jul, 2017 1 commit
  12. 10 Jul, 2017 1 commit
    • Vladimir Sementsov-Ogievskiy's avatar
      nbd: use generic trace subsystem instead of TRACE macro · 9588463e
      Vladimir Sementsov-Ogievskiy authored
      Let NBD use the trace mechanisms already present in qemu. Now you can
      use the -trace optino of qemu, or the -T/--trace option of qemu-img,
      qemu-io, and qemu-nbd, to select nbd traces. For qemu, the QMP commands
      trace-event-{get,set}-state can also toggle tracing on the fly.
      
      Example:
         qemu-nbd --trace 'nbd_*' <image file> # enables all nbd traces
      
      Recompilation with CFLAGS=-DDEBUG_NBD is no more needed, furthermore,
      DEBUG_NBD macro is removed from the code.
      Signed-off-by: 's avatarVladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
      Message-Id: <20170707152918.23086-11-vsementsov@virtuozzo.com>
      [eblake: minor tweaks to a couple of traces]
      Signed-off-by: 's avatarEric Blake <eblake@redhat.com>
      9588463e
  13. 04 Jul, 2017 1 commit
  14. 15 Jun, 2017 4 commits
  15. 02 Jun, 2017 1 commit
  16. 17 May, 2017 1 commit
  17. 20 Mar, 2017 1 commit
  18. 21 Feb, 2017 1 commit
  19. 20 Feb, 2017 1 commit
  20. 31 Jan, 2017 6 commits
  21. 22 Dec, 2016 1 commit
  22. 20 Dec, 2016 1 commit
    • Thomas Huth's avatar
      Move target-* CPU file into a target/ folder · fcf5ef2a
      Thomas Huth authored
      We've currently got 18 architectures in QEMU, and thus 18 target-xxx
      folders in the root folder of the QEMU source tree. More architectures
      (e.g. RISC-V, AVR) are likely to be included soon, too, so the main
      folder of the QEMU sources slowly gets quite overcrowded with the
      target-xxx folders.
      To disburden the main folder a little bit, let's move the target-xxx
      folders into a dedicated target/ folder, so that target-xxx/ simply
      becomes target/xxx/ instead.
      
      Acked-by: Laurent Vivier <laurent@vivier.eu> [m68k part]
      Acked-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de> [tricore part]
      Acked-by: Michael Walle <michael@walle.cc> [lm32 part]
      Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com> [s390x part]
      Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com> [s390x part]
      Acked-by: Eduardo Habkost <ehabkost@redhat.com> [i386 part]
      Acked-by: Artyom Tarasenko <atar4qemu@gmail.com> [sparc part]
      Acked-by: Richard Henderson <rth@twiddle.net> [alpha part]
      Acked-by: Max Filippov <jcmvbkbc@gmail.com> [xtensa part]
      Reviewed-by: David Gibson <david@gibson.dropbear.id.au> [ppc part]
      Acked-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> [cris&microblaze part]
      Acked-by: Guan Xuetao <gxt@mprc.pku.edu.cn> [unicore32 part]
      Signed-off-by: 's avatarThomas Huth <thuth@redhat.com>
      fcf5ef2a
  23. 15 Dec, 2016 1 commit
    • Marc-André Lureau's avatar
      contrib: add libvhost-user · 7b2e5c65
      Marc-André Lureau authored
      Add a library to help implementing vhost-user backend (or slave).
      
      Dealing with vhost-user as an application developer isn't so easy: you
      have all the trouble with any protocol: validation, unix ancillary data,
      shared memory, eventfd, logging, and on top of that you need to deal
      with virtio queues, if possible efficiently.
      
      qemu test has a nice vhost-user testing application vhost-user-bridge,
      which implements most of vhost-user, and virtio.c which implements
      virtqueues manipulation. Based on these two, I tried to make a simple
      library, reusable for tests or development of new vhost-user scenarios.
      Signed-off-by: 's avatarMarc-André Lureau <marcandre.lureau@redhat.com>
      [Felipe: set used_idx copy on SET_VRING_ADDR and update shadow avail idx
       on SET_VRING_BASE]
      Signed-off-by: 's avatarFelipe Franciosi <felipe@nutanix.com>
      Reviewed-by: 's avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: 's avatarMichael S. Tsirkin <mst@redhat.com>
      7b2e5c65
  24. 26 Oct, 2016 1 commit
  25. 25 Oct, 2016 1 commit
  26. 17 Oct, 2016 1 commit
  27. 28 Sep, 2016 1 commit
  28. 27 Sep, 2016 1 commit
  29. 13 Sep, 2016 1 commit
  30. 21 Jul, 2016 1 commit
    • Peter Xu's avatar
      intel_iommu: add support for split irqchip · 8b5ed7df
      Peter Xu authored
      In split irqchip mode, IOAPIC is working in user space, only update
      kernel irq routes when entry changed. When IR is enabled, we directly
      update the kernel with translated messages. It works just like a kernel
      cache for the remapping entries.
      
      Since KVM irqfd is using kernel gsi routes to deliver interrupts, as
      long as we can support split irqchip, we will support irqfd as
      well. Also, since kernel gsi routes will cache translated interrupts,
      irqfd delivery will not suffer from any performance impact due to IR.
      
      And, since we supported irqfd, vhost devices will be able to work
      seamlessly with IR now. Logically this should contain both vhost-net and
      vhost-user case.
      Signed-off-by: 's avatarPaolo Bonzini <pbonzini@redhat.com>
      [move trace-events lines into target-i386/trace-events]
      Signed-off-by: 's avatarPeter Xu <peterx@redhat.com>
      Reviewed-by: 's avatarPaolo Bonzini <pbonzini@redhat.com>
      Reviewed-by: 's avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: 's avatarMichael S. Tsirkin <mst@redhat.com>
      8b5ed7df
  31. 20 Jun, 2016 2 commits