>From 18b0c531e9ff1c33cce517c308c8330dd7d33a43 Mon Sep 17 00:00:00 2001 From: Laszlo Ersek Date: Wed, 19 Jun 2013 10:37:31 +0200 Subject: [PATCH] log map/unmap in virtqueue_map_sg() and virtqueue_fill(), plus blk req type Signed-off-by: Laszlo Ersek --- hw/block/virtio-blk.c | 1 + hw/virtio/virtio.c | 9 +++++++++ 2 files changed, 10 insertions(+), 0 deletions(-) diff --git a/hw/block/virtio-blk.c b/hw/block/virtio-blk.c index cf12469..14cf898 100644 --- a/hw/block/virtio-blk.c +++ b/hw/block/virtio-blk.c @@ -358,6 +358,7 @@ static void virtio_blk_handle_request(VirtIOBlockReq *req, req->in = (void *)req->elem.in_sg[req->elem.in_num - 1].iov_base; type = ldl_p(&req->out->type); + fprintf(stderr, "%s: type=0x%08" PRIx32 "\n", __FUNCTION__, type); if (type & VIRTIO_BLK_T_FLUSH) { virtio_blk_handle_flush(req, mrb); diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c index 8176c14..0af31c5 100644 --- a/hw/virtio/virtio.c +++ b/hw/virtio/virtio.c @@ -240,6 +240,9 @@ void virtqueue_fill(VirtQueue *vq, const VirtQueueElement *elem, for (i = 0; i < elem->in_num; i++) { size_t size = MIN(len - offset, elem->in_sg[i].iov_len); + fprintf(stderr, "%s: unmapping hva=%p for length=%zu, " + "access_len=%zu, is_write=1\n", __FUNCTION__, + elem->in_sg[i].iov_base, elem->in_sg[i].iov_len, size); cpu_physical_memory_unmap(elem->in_sg[i].iov_base, elem->in_sg[i].iov_len, 1, size); @@ -248,6 +251,9 @@ void virtqueue_fill(VirtQueue *vq, const VirtQueueElement *elem, } for (i = 0; i < elem->out_num; i++) + fprintf(stderr, "%s: unmapping hva=%p for length=access_len=%zu, " + "is_write=0\n", __FUNCTION__, elem->out_sg[i].iov_base, + elem->out_sg[i].iov_len); cpu_physical_memory_unmap(elem->out_sg[i].iov_base, elem->out_sg[i].iov_len, 0, elem->out_sg[i].iov_len); @@ -430,6 +436,9 @@ void virtqueue_map_sg(struct iovec *sg, hwaddr *addr, error_report("virtio: trying to map MMIO memory"); exit(1); } + fprintf(stderr, "%s: mapped gpa=" TARGET_FMT_plx " at hva=%p " + "for length=%" HWADDR_PRIu ", is_write=%d\n", __FUNCTION__, + addr[i], sg[i].iov_base, len, is_write); } } -- 1.7.1