Statistics
| Branch: | Revision:

root / hw / virtio-scsi.h @ 9a6ee9fd

History | View | Annotate | Download (1.2 kB)

1
/*
2
 * Virtio SCSI HBA
3
 *
4
 * Copyright IBM, Corp. 2010
5
 *
6
 * Authors:
7
 *  Stefan Hajnoczi    <stefanha@linux.vnet.ibm.com>
8
 *
9
 * This work is licensed under the terms of the GNU GPL, version 2.  See
10
 * the COPYING file in the top-level directory.
11
 *
12
 */
13

    
14
#ifndef _QEMU_VIRTIO_SCSI_H
15
#define _QEMU_VIRTIO_SCSI_H
16

    
17
#include "virtio.h"
18
#include "pci/pci.h"
19

    
20
/* The ID for virtio_scsi */
21
#define VIRTIO_ID_SCSI  8
22

    
23
/* Feature Bits */
24
#define VIRTIO_SCSI_F_INOUT                    0
25
#define VIRTIO_SCSI_F_HOTPLUG                  1
26
#define VIRTIO_SCSI_F_CHANGE                   2
27

    
28
struct VirtIOSCSIConf {
29
    uint32_t num_queues;
30
    uint32_t max_sectors;
31
    uint32_t cmd_per_lun;
32
};
33

    
34
#define DEFINE_VIRTIO_SCSI_PROPERTIES(_state, _features_field, _conf_field) \
35
    DEFINE_VIRTIO_COMMON_FEATURES(_state, _features_field), \
36
    DEFINE_PROP_UINT32("num_queues", _state, _conf_field.num_queues, 1), \
37
    DEFINE_PROP_UINT32("max_sectors", _state, _conf_field.max_sectors, 0xFFFF), \
38
    DEFINE_PROP_UINT32("cmd_per_lun", _state, _conf_field.cmd_per_lun, 128), \
39
    DEFINE_PROP_BIT("hotplug", _state, _features_field, VIRTIO_SCSI_F_HOTPLUG, true), \
40
    DEFINE_PROP_BIT("param_change", _state, _features_field, VIRTIO_SCSI_F_CHANGE, true)
41

    
42
#endif /* _QEMU_VIRTIO_SCSI_H */