root / hw / virtio-scsi.h @ 5e22c276
History | View | Annotate | Download (1.2 kB)
1 | 973abc7f | Stefan Hajnoczi | /*
|
---|---|---|---|
2 | 973abc7f | Stefan Hajnoczi | * Virtio SCSI HBA
|
3 | 973abc7f | Stefan Hajnoczi | *
|
4 | 973abc7f | Stefan Hajnoczi | * Copyright IBM, Corp. 2010
|
5 | 973abc7f | Stefan Hajnoczi | *
|
6 | 973abc7f | Stefan Hajnoczi | * Authors:
|
7 | 973abc7f | Stefan Hajnoczi | * Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
|
8 | 973abc7f | Stefan Hajnoczi | *
|
9 | 973abc7f | Stefan Hajnoczi | * This work is licensed under the terms of the GNU GPL, version 2. See
|
10 | 973abc7f | Stefan Hajnoczi | * the COPYING file in the top-level directory.
|
11 | 973abc7f | Stefan Hajnoczi | *
|
12 | 973abc7f | Stefan Hajnoczi | */
|
13 | 973abc7f | Stefan Hajnoczi | |
14 | 973abc7f | Stefan Hajnoczi | #ifndef _QEMU_VIRTIO_SCSI_H
|
15 | 973abc7f | Stefan Hajnoczi | #define _QEMU_VIRTIO_SCSI_H
|
16 | 973abc7f | Stefan Hajnoczi | |
17 | 973abc7f | Stefan Hajnoczi | #include "virtio.h" |
18 | a2cb15b0 | Michael S. Tsirkin | #include "pci/pci.h" |
19 | 973abc7f | Stefan Hajnoczi | |
20 | 973abc7f | Stefan Hajnoczi | /* The ID for virtio_scsi */
|
21 | 973abc7f | Stefan Hajnoczi | #define VIRTIO_ID_SCSI 8 |
22 | 973abc7f | Stefan Hajnoczi | |
23 | 07a5298c | Paolo Bonzini | /* Feature Bits */
|
24 | 07a5298c | Paolo Bonzini | #define VIRTIO_SCSI_F_INOUT 0 |
25 | 07a5298c | Paolo Bonzini | #define VIRTIO_SCSI_F_HOTPLUG 1 |
26 | 07a5298c | Paolo Bonzini | #define VIRTIO_SCSI_F_CHANGE 2 |
27 | 07a5298c | Paolo Bonzini | |
28 | 973abc7f | Stefan Hajnoczi | struct VirtIOSCSIConf {
|
29 | 973abc7f | Stefan Hajnoczi | uint32_t num_queues; |
30 | 973abc7f | Stefan Hajnoczi | uint32_t max_sectors; |
31 | 973abc7f | Stefan Hajnoczi | uint32_t cmd_per_lun; |
32 | 973abc7f | Stefan Hajnoczi | }; |
33 | 973abc7f | Stefan Hajnoczi | |
34 | 973abc7f | Stefan Hajnoczi | #define DEFINE_VIRTIO_SCSI_PROPERTIES(_state, _features_field, _conf_field) \
|
35 | 973abc7f | Stefan Hajnoczi | DEFINE_VIRTIO_COMMON_FEATURES(_state, _features_field), \ |
36 | 973abc7f | Stefan Hajnoczi | DEFINE_PROP_UINT32("num_queues", _state, _conf_field.num_queues, 1), \ |
37 | 973abc7f | Stefan Hajnoczi | DEFINE_PROP_UINT32("max_sectors", _state, _conf_field.max_sectors, 0xFFFF), \ |
38 | 07a5298c | Paolo Bonzini | DEFINE_PROP_UINT32("cmd_per_lun", _state, _conf_field.cmd_per_lun, 128), \ |
39 | 07a5298c | Paolo Bonzini | DEFINE_PROP_BIT("hotplug", _state, _features_field, VIRTIO_SCSI_F_HOTPLUG, true), \ |
40 | 07a5298c | Paolo Bonzini | DEFINE_PROP_BIT("param_change", _state, _features_field, VIRTIO_SCSI_F_CHANGE, true) |
41 | 973abc7f | Stefan Hajnoczi | |
42 | 973abc7f | Stefan Hajnoczi | #endif /* _QEMU_VIRTIO_SCSI_H */ |