]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
virtio: Add some debugging
authorSimon Glass <sjg@chromium.org>
Sat, 28 Jan 2023 22:00:17 +0000 (15:00 -0700)
committerTom Rini <trini@konsulko.com>
Mon, 6 Feb 2023 18:04:53 +0000 (13:04 -0500)
When QEMU does not respond for some reason, it is helpful to have
debugging info to show. Add some.

Signed-off-by: Simon Glass <sjg@chromium.org>
drivers/virtio/virtio_blk.c

index 30cfc56725cdb1eac7a951441b94404f2ff8c0d0..95810582867c78185cac41831bca7309c3198f6e 100644 (file)
@@ -4,6 +4,8 @@
  * Copyright (C) 2018, Bin Meng <bmeng.cn@gmail.com>
  */
 
+#define LOG_CATEGORY UCLASS_VIRTIO
+
 #include <common.h>
 #include <blk.h>
 #include <dm.h>
@@ -42,6 +44,8 @@ static ulong virtio_blk_do_req(struct udevice *dev, u64 sector,
                sgs[num_out + num_in++] = &data_sg;
 
        sgs[num_out + num_in++] = &status_sg;
+       log_debug("dev=%s, active=%d, priv=%p, priv->vq=%p\n", dev->name,
+                 device_active(dev), priv, priv->vq);
 
        ret = virtqueue_add(priv->vq, sgs, num_out, num_in);
        if (ret)
@@ -49,8 +53,10 @@ static ulong virtio_blk_do_req(struct udevice *dev, u64 sector,
 
        virtqueue_kick(priv->vq);
 
+       log_debug("wait...");
        while (!virtqueue_get_buf(priv->vq, NULL))
                ;
+       log_debug("done\n");
 
        return status == VIRTIO_BLK_S_OK ? blkcnt : -EIO;
 }
@@ -58,6 +64,7 @@ static ulong virtio_blk_do_req(struct udevice *dev, u64 sector,
 static ulong virtio_blk_read(struct udevice *dev, lbaint_t start,
                             lbaint_t blkcnt, void *buffer)
 {
+       log_debug("read %s\n", dev->name);
        return virtio_blk_do_req(dev, start, blkcnt, buffer,
                                 VIRTIO_BLK_T_IN);
 }