From: Michalis Pappas Date: Mon, 25 Sep 2023 14:22:15 +0000 (+0200) Subject: drivers/virtio/blk: Add basic support for modern virtio X-Git-Tag: RELEASE-0.15.0~99 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=fd759f3f1f92d55c252308ff35d05dd01225d024;p=unikraft%2Funikraft.git drivers/virtio/blk: Add basic support for modern virtio This commit adds the minimum set of changes required for modern virtio support. Checkpatch-Ignore: LONG_LINE Signed-off-by: Marc Rittinghaus Signed-off-by: Michalis Pappas Reviewed-by: Andrei Topala Reviewed-by: Marco Schlumpp Approved-by: Razvan Deaconescu GitHub-Closes: #1115 --- diff --git a/drivers/virtio/blk/virtio_blk.c b/drivers/virtio/blk/virtio_blk.c index df5163459..8060172b1 100644 --- a/drivers/virtio/blk/virtio_blk.c +++ b/drivers/virtio/blk/virtio_blk.c @@ -61,6 +61,7 @@ VIRTIO_FEATURE_SET(features, VIRTIO_BLK_F_MQ); \ VIRTIO_FEATURE_SET(features, VIRTIO_BLK_F_SIZE_MAX); \ VIRTIO_FEATURE_SET(features, VIRTIO_BLK_F_FLUSH); \ + VIRTIO_FEATURE_SET(features, VIRTIO_F_VERSION_1); \ } while (0) static struct uk_alloc *a; @@ -876,6 +877,10 @@ static int virtio_blkdev_feature_negotiate(struct virtio_blk_device *vbdev) vbdev->vdev->features &= host_features; virtio_feature_set(vbdev->vdev); + virtio_dev_status_update(vbdev->vdev, (VIRTIO_CONFIG_STATUS_ACK | + VIRTIO_CONFIG_STATUS_DRIVER | + VIRTIO_CONFIG_STATUS_FEATURES_OK)); + exit: return rc; }