[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 04/16] virtio-scsi-test: add missing feature negotiation
From: |
Stefan Hajnoczi |
Subject: |
[PATCH v3 04/16] virtio-scsi-test: add missing feature negotiation |
Date: |
Sat, 19 Oct 2019 07:37:58 +0100 |
VIRTIO Device Initialization requires feature negotiation. Currently
virtio-scsi-test.c is non-compliant.
Signed-off-by: Stefan Hajnoczi <address@hidden>
---
tests/virtio-scsi-test.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/tests/virtio-scsi-test.c b/tests/virtio-scsi-test.c
index 7c8f9b27f8..0415e75876 100644
--- a/tests/virtio-scsi-test.c
+++ b/tests/virtio-scsi-test.c
@@ -123,10 +123,16 @@ static QVirtioSCSIQueues *qvirtio_scsi_init(QVirtioDevice
*dev)
QVirtioSCSIQueues *vs;
const uint8_t test_unit_ready_cdb[VIRTIO_SCSI_CDB_SIZE] = {};
struct virtio_scsi_cmd_resp resp;
+ uint64_t features;
int i;
vs = g_new0(QVirtioSCSIQueues, 1);
vs->dev = dev;
+
+ features = qvirtio_get_features(dev);
+ features &= ~(QVIRTIO_F_BAD_FEATURE | (1ull << VIRTIO_RING_F_EVENT_IDX));
+ qvirtio_set_features(dev, features);
+
vs->num_queues = qvirtio_config_readl(dev, 0);
g_assert_cmpint(vs->num_queues, <, MAX_NUM_QUEUES);
@@ -135,6 +141,8 @@ static QVirtioSCSIQueues *qvirtio_scsi_init(QVirtioDevice
*dev)
vs->vq[i] = qvirtqueue_setup(dev, alloc, i);
}
+ qvirtio_set_driver_ok(dev);
+
/* Clear the POWER ON OCCURRED unit attention */
g_assert_cmpint(virtio_scsi_do_command(vs, test_unit_ready_cdb,
NULL, 0, NULL, 0, &resp),
--
2.21.0
- [PATCH v3 00/16] libqos: add VIRTIO PCI 1.0 support, Stefan Hajnoczi, 2019/10/19
- [PATCH v3 01/16] tests/virtio-blk-test: read config space after feature negotiation, Stefan Hajnoczi, 2019/10/19
- [PATCH v3 02/16] libqos: read QVIRTIO_MMIO_VERSION register, Stefan Hajnoczi, 2019/10/19
- [PATCH v3 03/16] libqos: extend feature bits to 64-bit, Stefan Hajnoczi, 2019/10/19
- [PATCH v3 04/16] virtio-scsi-test: add missing feature negotiation,
Stefan Hajnoczi <=
- [PATCH v3 05/16] tests/virtio-blk-test: set up virtqueue after feature negotiation, Stefan Hajnoczi, 2019/10/19
- [PATCH v3 06/16] libqos: add missing virtio-9p feature negotiation, Stefan Hajnoczi, 2019/10/19
- [PATCH v3 07/16] libqos: enforce Device Initialization order, Stefan Hajnoczi, 2019/10/19