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/virtio/virtio-scsi.h"
  18#include "hw/virtio/vhost.h"
  19#include "hw/fw-path-provider.h"
  20
  21#define TYPE_VHOST_SCSI_COMMON "vhost-scsi-common"
  22#define VHOST_SCSI_COMMON(obj) \
  23        OBJECT_CHECK(VHostSCSICommon, (obj), TYPE_VHOST_SCSI_COMMON)
  24
  25typedef struct VHostSCSICommon {
  26    VirtIOSCSICommon parent_obj;
  27
  28    Error *migration_blocker;
  29
  30    struct vhost_dev dev;
  31    const int *feature_bits;
  32    int32_t bootindex;
  33    int channel;
  34    int target;
  35    int lun;
  36    uint64_t host_features;
  37    bool migratable;
  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