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 */ |