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#include "qom/object.h"
  21
  22#define TYPE_VHOST_SCSI_COMMON "vhost-scsi-common"
  23OBJECT_DECLARE_SIMPLE_TYPE(VHostSCSICommon, VHOST_SCSI_COMMON)
  24
  25struct 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
  39    struct vhost_inflight *inflight;
  40};
  41
  42int vhost_scsi_common_start(VHostSCSICommon *vsc);
  43void vhost_scsi_common_stop(VHostSCSICommon *vsc);
  44char *vhost_scsi_common_get_fw_dev_path(FWPathProvider *p, BusState *bus,
  45                                        DeviceState *dev);
  46void vhost_scsi_common_set_config(VirtIODevice *vdev, const uint8_t *config);
  47uint64_t vhost_scsi_common_get_features(VirtIODevice *vdev, uint64_t features,
  48                                        Error **errp);
  49
  50#endif /* VHOST_SCSI_COMMON_H */
  51