repository: /home/dor/src/merge/kvm
branch: trunk
commit bf1e6da21722a4699ea3739e587f282b9a5db418
Author: Dor Laor <[EMAIL PROTECTED]>
Date: Tue Mar 4 08:57:52 2008 -0500
Use specific avail/used ring structures
This is more accurate than using page_size,
as suggested by Anthony Liguori.
Signed-off-by: Dor Laor <[EMAIL PROTECTED]>
diff --git a/qemu/hw/virtio.c b/qemu/hw/virtio.c
index 1367af1..c1095fc 100644
--- a/qemu/hw/virtio.c
+++ b/qemu/hw/virtio.c
@@ -203,8 +203,8 @@ void virtio_dev_save(QEMUFile *f, VirtIODevice *vdev)
/* Save the descriptor ring instead of constantly mark them dirty */
qemu_put_buffer(f, (uint8_t*)vdev->vq[i].vring.desc,
vdev->vq[i].vring.num * sizeof(VRingDesc));
- qemu_put_buffer(f, (uint8_t*)vdev->vq[i].vring.avail,
TARGET_PAGE_SIZE);
- qemu_put_buffer(f, (uint8_t*)vdev->vq[i].vring.used, TARGET_PAGE_SIZE);
+ qemu_put_buffer(f, (uint8_t*)vdev->vq[i].vring.avail,
vdev->vq[i].vring.num * 2 + sizeof(VRingAvail));
+ qemu_put_buffer(f, (uint8_t*)vdev->vq[i].vring.used,
vdev->vq[i].vring.num * sizeof(VRingUsedElem) + sizeof(VRingUsed));
}
}
@@ -236,8 +236,8 @@ int virtio_dev_load(QEMUFile *f, VirtIODevice *vdev, int
version_id)
virtqueue_init(&vdev->vq[i], phys_ram_base +
(vdev->vq[i].pfn << TARGET_PAGE_BITS));
qemu_get_buffer(f, (uint8_t*)vdev->vq[i].vring.desc,
vdev->vq[i].vring.num * sizeof(VRingDesc));
- qemu_get_buffer(f, (uint8_t*)vdev->vq[i].vring.avail,
TARGET_PAGE_SIZE);
- qemu_get_buffer(f, (uint8_t*)vdev->vq[i].vring.used,
TARGET_PAGE_SIZE);
+ qemu_get_buffer(f, (uint8_t*)vdev->vq[i].vring.avail,
vdev->vq[i].vring.num * 2 + sizeof(VRingAvail));
+ qemu_get_buffer(f, (uint8_t*)vdev->vq[i].vring.used,
vdev->vq[i].vring.num * sizeof(VRingUsedElem) + sizeof(VRingUsed));
}
return 0;
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
kvm-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/kvm-devel