[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 06/16] virtio-scsi: Open and initialize /dev/vhost-s
From: |
zwu . kernel |
Subject: |
[Qemu-devel] [PATCH 06/16] virtio-scsi: Open and initialize /dev/vhost-scsi |
Date: |
Thu, 19 Apr 2012 10:38:59 +0800 |
From: Stefan Hajnoczi <address@hidden>
Begin adding vhost support by opening /dev/vhost-scsi.
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Zhi Yong Wu <address@hidden>
---
hw/virtio-scsi.c | 12 ++++++++++++
1 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/hw/virtio-scsi.c b/hw/virtio-scsi.c
index ff5d351..5c74523 100644
--- a/hw/virtio-scsi.c
+++ b/hw/virtio-scsi.c
@@ -18,6 +18,7 @@
#include "virtio-scsi.h"
#include <hw/scsi.h>
#include <hw/scsi-defs.h>
+#include "vhost.h"
#define VIRTIO_SCSI_VQ_SIZE 128
#define VIRTIO_SCSI_CDB_SIZE 32
@@ -137,6 +138,9 @@ typedef struct {
uint32_t sense_size;
uint32_t cdb_size;
int resetting;
+ struct vhost_virtqueue vhost_vqs[1];
+ bool vhost_started;
+ VHostSCSI *vhost_scsi;
} VirtIOSCSI;
typedef struct VirtIOSCSIReq {
@@ -446,6 +450,11 @@ static void virtio_scsi_fail_cmd_req(VirtIOSCSIReq *req)
virtio_scsi_complete_req(req);
}
+static VirtIOSCSI *to_virtio_scsi(VirtIODevice *vdev)
+{
+ return (VirtIOSCSI *)vdev;
+}
+
static void virtio_scsi_handle_cmd(VirtIODevice *vdev, VirtQueue *vq)
{
VirtIOSCSI *s = (VirtIOSCSI *)vdev;
@@ -588,6 +597,8 @@ VirtIODevice *virtio_scsi_init(DeviceState *dev,
VirtIOSCSIConf *proxyconf)
s->qdev = dev;
s->conf = proxyconf;
+ s->vhost_started = false;
+ s->vhost_scsi = proxyconf->vhost_scsi;
/* TODO set up vdev function pointers */
s->vdev.get_config = virtio_scsi_get_config;
@@ -617,5 +628,6 @@ void virtio_scsi_exit(VirtIODevice *vdev)
{
VirtIOSCSI *s = (VirtIOSCSI *)vdev;
unregister_savevm(s->qdev, "virtio-scsi", s);
+ vhost_dev_cleanup(&s->vhost_scsi);
virtio_cleanup(vdev);
}
--
1.7.6
- [Qemu-devel] [PATCH 00/16] QEMU vhost-scsi support, zwu . kernel, 2012/04/18
- [Qemu-devel] [PATCH 02/16] vhost: Pass device path to vhost_dev_init(), zwu . kernel, 2012/04/18
- [Qemu-devel] [PATCH 05/16] virtio-scsi: Build virtio-scsi.o against vhost.o, zwu . kernel, 2012/04/18
- [Qemu-devel] [PATCH 04/16] virtio-scsi: Fix tgpt typo to tpgt and use uint16_t, zwu . kernel, 2012/04/18
- [Qemu-devel] [PATCH 07/16] virtio-scsi: Start/stop vhost, zwu . kernel, 2012/04/18
- [Qemu-devel] [PATCH 03/16] virtio-scsi: Add vhost_vring_target ioctl struct, zwu . kernel, 2012/04/18
- [Qemu-devel] [PATCH 06/16] virtio-scsi: Open and initialize /dev/vhost-scsi,
zwu . kernel <=
- [Qemu-devel] [PATCH 01/16] virtio-scsi: Add wwpn and tgpt properties, zwu . kernel, 2012/04/18
- [Qemu-devel] [PATCH 13/16] virtio-scsi: WIP VHOST_SCSI_SET_ENDPOINT call, zwu . kernel, 2012/04/18
- [Qemu-devel] [PATCH 12/16] virtio-scsi: use the vhost-scsi host device, zwu . kernel, 2012/04/18
- [Qemu-devel] [PATCH 14/16] vhost-scsi: enable vhost notifiers for multiple queues, zwu . kernel, 2012/04/18
- [Qemu-devel] [PATCH 09/16] virtio-pci: support host notifiers in TCG mode, zwu . kernel, 2012/04/18
- [Qemu-devel] [PATCH 11/16] vhost-scsi: add -vhost-scsi host device, zwu . kernel, 2012/04/18
- [Qemu-devel] [PATCH 08/16] notifier: add validity check and notify function, zwu . kernel, 2012/04/18
- [Qemu-devel] [PATCH 15/16] vhost-scsi: move some definitions to its header file, zwu . kernel, 2012/04/18