virtio-scsi: add backwards-compatibility properties for 1.1 and earlier machines
Hotplug and parameter change are new in 1.2, disable them via compat properties for pc-1.1 and earlier. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
1bd075f29e
commit
07a5298c30
@ -360,6 +360,14 @@ static QEMUMachine pc_machine_v1_2 = {
|
|||||||
|
|
||||||
#define PC_COMPAT_1_1 \
|
#define PC_COMPAT_1_1 \
|
||||||
{\
|
{\
|
||||||
|
.driver = "virtio-scsi-pci",\
|
||||||
|
.property = "hotplug",\
|
||||||
|
.value = "off",\
|
||||||
|
},{\
|
||||||
|
.driver = "virtio-scsi-pci",\
|
||||||
|
.property = "param_change",\
|
||||||
|
.value = "off",\
|
||||||
|
},{\
|
||||||
.driver = "VGA",\
|
.driver = "VGA",\
|
||||||
.property = "vgamem_mb",\
|
.property = "vgamem_mb",\
|
||||||
.value = stringify(8),\
|
.value = stringify(8),\
|
||||||
|
@ -24,11 +24,6 @@
|
|||||||
#define VIRTIO_SCSI_MAX_TARGET 255
|
#define VIRTIO_SCSI_MAX_TARGET 255
|
||||||
#define VIRTIO_SCSI_MAX_LUN 16383
|
#define VIRTIO_SCSI_MAX_LUN 16383
|
||||||
|
|
||||||
/* Feature Bits */
|
|
||||||
#define VIRTIO_SCSI_F_INOUT 0
|
|
||||||
#define VIRTIO_SCSI_F_HOTPLUG 1
|
|
||||||
#define VIRTIO_SCSI_F_CHANGE 2
|
|
||||||
|
|
||||||
/* Response codes */
|
/* Response codes */
|
||||||
#define VIRTIO_SCSI_S_OK 0
|
#define VIRTIO_SCSI_S_OK 0
|
||||||
#define VIRTIO_SCSI_S_OVERRUN 1
|
#define VIRTIO_SCSI_S_OVERRUN 1
|
||||||
@ -561,8 +556,6 @@ static void virtio_scsi_set_config(VirtIODevice *vdev,
|
|||||||
static uint32_t virtio_scsi_get_features(VirtIODevice *vdev,
|
static uint32_t virtio_scsi_get_features(VirtIODevice *vdev,
|
||||||
uint32_t requested_features)
|
uint32_t requested_features)
|
||||||
{
|
{
|
||||||
requested_features |= (1UL << VIRTIO_SCSI_F_HOTPLUG);
|
|
||||||
requested_features |= (1UL << VIRTIO_SCSI_F_CHANGE);
|
|
||||||
return requested_features;
|
return requested_features;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -21,6 +21,11 @@
|
|||||||
/* The ID for virtio_scsi */
|
/* The ID for virtio_scsi */
|
||||||
#define VIRTIO_ID_SCSI 8
|
#define VIRTIO_ID_SCSI 8
|
||||||
|
|
||||||
|
/* Feature Bits */
|
||||||
|
#define VIRTIO_SCSI_F_INOUT 0
|
||||||
|
#define VIRTIO_SCSI_F_HOTPLUG 1
|
||||||
|
#define VIRTIO_SCSI_F_CHANGE 2
|
||||||
|
|
||||||
struct VirtIOSCSIConf {
|
struct VirtIOSCSIConf {
|
||||||
uint32_t num_queues;
|
uint32_t num_queues;
|
||||||
uint32_t max_sectors;
|
uint32_t max_sectors;
|
||||||
@ -31,6 +36,8 @@ struct VirtIOSCSIConf {
|
|||||||
DEFINE_VIRTIO_COMMON_FEATURES(_state, _features_field), \
|
DEFINE_VIRTIO_COMMON_FEATURES(_state, _features_field), \
|
||||||
DEFINE_PROP_UINT32("num_queues", _state, _conf_field.num_queues, 1), \
|
DEFINE_PROP_UINT32("num_queues", _state, _conf_field.num_queues, 1), \
|
||||||
DEFINE_PROP_UINT32("max_sectors", _state, _conf_field.max_sectors, 0xFFFF), \
|
DEFINE_PROP_UINT32("max_sectors", _state, _conf_field.max_sectors, 0xFFFF), \
|
||||||
DEFINE_PROP_UINT32("cmd_per_lun", _state, _conf_field.cmd_per_lun, 128)
|
DEFINE_PROP_UINT32("cmd_per_lun", _state, _conf_field.cmd_per_lun, 128), \
|
||||||
|
DEFINE_PROP_BIT("hotplug", _state, _features_field, VIRTIO_SCSI_F_HOTPLUG, true), \
|
||||||
|
DEFINE_PROP_BIT("param_change", _state, _features_field, VIRTIO_SCSI_F_CHANGE, true)
|
||||||
|
|
||||||
#endif /* _QEMU_VIRTIO_SCSI_H */
|
#endif /* _QEMU_VIRTIO_SCSI_H */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user