qemu

FORK: QEMU emulator
git clone https://git.neptards.moe/neptards/qemu.git
Log | Files | Refs | Submodules | LICENSE

vhost-scsi-common.h (1369B)


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