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 "hw/qdev.h"
  18#include "hw/virtio/virtio-scsi.h"
  19#include "hw/virtio/vhost.h"
  20#include "hw/fw-path-provider.h"
  21
  22#define TYPE_VHOST_SCSI_COMMON "vhost-scsi-common"
  23#define VHOST_SCSI_COMMON(obj) \
  24        OBJECT_CHECK(VHostSCSICommon, (obj), TYPE_VHOST_SCSI_COMMON)
  25
  26typedef struct VHostSCSICommon {
  27    VirtIOSCSICommon parent_obj;
  28
  29    Error *migration_blocker;
  30
  31    struct vhost_dev dev;
  32    const int *feature_bits;
  33    int32_t bootindex;
  34    int channel;
  35    int target;
  36    int lun;
  37    uint64_t host_features;
  38    bool migratable;
  39} VHostSCSICommon;
  40
  41int vhost_scsi_common_start(VHostSCSICommon *vsc);
  42void vhost_scsi_common_stop(VHostSCSICommon *vsc);
  43char *vhost_scsi_common_get_fw_dev_path(FWPathProvider *p, BusState *bus,
  44                                        DeviceState *dev);
  45void vhost_scsi_common_set_config(VirtIODevice *vdev, const uint8_t *config);
  46uint64_t vhost_scsi_common_get_features(VirtIODevice *vdev, uint64_t features,
  47                                        Error **errp);
  48
  49#endif /* VHOST_SCSI_COMMON_H */
  50