virtio: Add a block device

The test code for virtio is fairly simplistic and does not actually create
a block device. Add a way to specify the device type in the device tree.
Add a block device so that we can do more testing.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass 2023-01-17 10:47:51 -07:00 committed by Tom Rini
parent 902400201d
commit 00fc8cade8
2 changed files with 8 additions and 1 deletions

View file

@ -1527,12 +1527,18 @@
sandbox_virtio1 {
compatible = "sandbox,virtio1";
virtio-type = <4>; /* rng */
};
sandbox_virtio2 {
compatible = "sandbox,virtio2";
};
sandbox-virtio-blk {
compatible = "sandbox,virtio1";
virtio-type = <2>; /* block */
};
sandbox_scmi {
compatible = "sandbox,scmi-devices";
clocks = <&clk_scmi 2>, <&clk_scmi 0>;

View file

@ -161,7 +161,8 @@ static int virtio_sandbox_probe(struct udevice *udev)
/* fake some information for testing */
priv->device_features = BIT_ULL(VIRTIO_F_VERSION_1);
uc_priv->device = VIRTIO_ID_RNG;
uc_priv->device = dev_read_u32_default(udev, "virtio-type",
VIRTIO_ID_RNG);
uc_priv->vendor = ('u' << 24) | ('b' << 16) | ('o' << 8) | 't';
return 0;