qemu/include/hw/virtio/vhost-scsi-common.h
<<
>>
Prefs
   1/*
   2 * vhost_scsi host device
   3 *
   4 * Copyright (c) 2016 Nutanix Inc. All rights reserved.
   5 *
   6 * Author:
   7 *  Felipe Franciosi <felipe@nutanix.com>
   8 *
   9 * This work is licensed under the terms of the GNU LGPL, version 2 or later.
  10 * See the COPYING.LIB file in the top-level directory.
  11 *
  12 */
  13
  14#ifndef VHOST_SCSI_COMMON_H
  15#define VHOST_SCSI_COMMON_H
  16
  17#include "qemu-common.h"
  18#include "hw/qdev.h"
  19#include "hw/virtio/virtio-scsi.h"
  20#include "hw/virtio/vhost.h"
  21#include "hw/fw-path-provider.h"
  22
  23#define TYPE_VHOST_SCSI_COMMON "vhost-scsi-common"
  24#define VHOST_SCSI_COMMON(obj) \
  25        OBJECT_CHECK(VHostSCSICommon, (obj), TYPE_VHOST_SCSI_COMMON)
  26
  27typedef struct VHostSCSICommon {
  28    VirtIOSCSICommon parent_obj;
  29
  30    Error *migration_blocker;
  31
  32    struct vhost_dev dev;
  33    const int *feature_bits;
  34    int32_t bootindex;
  35    int channel;
  36    int target;
  37    int lun;
  38} VHostSCSICommon;
  39
  40int vhost_scsi_common_start(VHostSCSICommon *vsc);
  41void vhost_scsi_common_stop(VHostSCSICommon *vsc);
  42char *vhost_scsi_common_get_fw_dev_path(FWPathProvider *p, BusState *bus,
  43                                        DeviceState *dev);
  44void vhost_scsi_common_set_config(VirtIODevice *vdev, const uint8_t *config);
  45uint64_t vhost_scsi_common_get_features(VirtIODevice *vdev, uint64_t features,
  46                                        Error **errp);
  47
  48#endif /* VHOST_SCSI_COMMON_H */
  49