mirror_qemu/include/hw/virtio
Changpeng Liu 00343e4b54 vhost-user-blk: introduce a new vhost-user-blk host device
This commit introduces a new vhost-user device for block, it uses a
chardev to connect with the backend, same with Qemu virito-blk device,
Guest OS still uses the virtio-blk frontend driver.

To use it, start QEMU with command line like this:

qemu-system-x86_64 \
    -chardev socket,id=char0,path=/path/vhost.socket \
    -device vhost-user-blk-pci,chardev=char0,num-queues=2, \
            bootindex=2... \

Users can use different parameters for `num-queues` and `bootindex`.

Different with exist Qemu virtio-blk host device, it makes more easy
for users to implement their own I/O processing logic, such as all
user space I/O stack against hardware block device. It uses the new
vhost messages(VHOST_USER_GET_CONFIG) to get block virtio config
information from backend process.

Signed-off-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2018-01-18 21:52:37 +02:00
..
vhost-backend.h vhost-user: add new vhost user messages to support virtio config space 2018-01-18 21:52:37 +02:00
vhost-scsi-common.h vhost-scsi: create a vhost-scsi-common abstraction 2017-05-05 12:10:00 +02:00
vhost-scsi.h vhost-scsi: create a vhost-scsi-common abstraction 2017-05-05 12:10:00 +02:00
vhost-user-blk.h vhost-user-blk: introduce a new vhost-user-blk host device 2018-01-18 21:52:37 +02:00
vhost-user-scsi.h vhost-user-scsi: Introduce vhost-user-scsi host device 2017-06-15 11:18:40 +02:00
vhost-vsock.h vhost-vsock: add virtio sockets device 2016-09-10 00:28:08 +03:00
vhost.h vhost-user: add new vhost user messages to support virtio config space 2018-01-18 21:52:37 +02:00
virtio-access.h virtio: add virtio_*_phys_cached 2017-02-17 21:52:30 +02:00
virtio-balloon.h Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00
virtio-blk.h virtio-blk: make queue size configurable 2017-12-19 10:25:09 +00:00
virtio-bus.h virtio: convert to use DMA api 2017-01-10 05:56:58 +02:00
virtio-crypto.h virtio-crypto: using bh to handle dataq's requests 2016-11-01 19:21:08 +02:00
virtio-gpu.h virtio-gpu: move virtio_gpu_gl_block 2017-05-12 12:02:48 +02:00
virtio-input.h virtio-input: send rel-wheel events for wheel buttons 2017-09-29 10:36:33 +02:00
virtio-net.h virtio-net: enable configurable tx queue size 2017-07-03 22:29:48 +03:00
virtio-rng.h virtio-rng: stop virtqueue while the CPU is stopped 2017-04-21 12:25:40 +02:00
virtio-scsi.h virtio-scsi: Add virtqueue_size parameter allowing virtqueue size to be set. 2017-09-19 14:09:11 +02:00
virtio-serial.h virtio-serial: add enable_backend callback 2017-09-21 11:51:49 +02:00
virtio.h virtio: Add queue interface to restore avail index from vring used index 2017-12-01 19:05:58 +02:00