[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL v2 18/19] tests: fix qvirtqueue_kick
From: |
Stefan Hajnoczi |
Subject: |
[Qemu-devel] [PULL v2 18/19] tests: fix qvirtqueue_kick |
Date: |
Tue, 13 Sep 2016 11:02:46 +0100 |
From: Laurent Vivier <address@hidden>
vq->avail.idx and vq->avail->ring[] are a 16bit values,
so read and write them with readw()/writew() instead of
readl()/writel().
To read/write a 16bit value with a 32bit accessor works fine
on little-endian CPU but not on big endian CPU.
[An equivalent patch for the writew() calls was also sent by
Zhang Shuai <address@hidden>.
--Stefan]
Signed-off-by: Laurent Vivier <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
---
tests/libqos/virtio.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/tests/libqos/virtio.c b/tests/libqos/virtio.c
index d8c2970..37ff860 100644
--- a/tests/libqos/virtio.c
+++ b/tests/libqos/virtio.c
@@ -257,16 +257,16 @@ void qvirtqueue_kick(const QVirtioBus *bus, QVirtioDevice
*d, QVirtQueue *vq,
uint32_t free_head)
{
/* vq->avail->idx */
- uint16_t idx = readl(vq->avail + 2);
+ uint16_t idx = readw(vq->avail + 2);
/* vq->used->flags */
uint16_t flags;
/* vq->used->avail_event */
uint16_t avail_event;
/* vq->avail->ring[idx % vq->size] */
- writel(vq->avail + 4 + (2 * (idx % vq->size)), free_head);
+ writew(vq->avail + 4 + (2 * (idx % vq->size)), free_head);
/* vq->avail->idx */
- writel(vq->avail + 2, idx + 1);
+ writew(vq->avail + 2, idx + 1);
/* Must read after idx is updated */
flags = readw(vq->avail);
--
2.7.4
- [Qemu-devel] [PULL v2 08/19] Backup: export interfaces for extra serialization, (continued)
- [Qemu-devel] [PULL v2 08/19] Backup: export interfaces for extra serialization, Stefan Hajnoczi, 2016/09/13
- [Qemu-devel] [PULL v2 12/19] configure: support replication, Stefan Hajnoczi, 2016/09/13
- [Qemu-devel] [PULL v2 09/19] block: Link backup into block core, Stefan Hajnoczi, 2016/09/13
- [Qemu-devel] [PULL v2 13/19] replication: Introduce new APIs to do replication operation, Stefan Hajnoczi, 2016/09/13
- [Qemu-devel] [PULL v2 10/19] docs: block replication's description, Stefan Hajnoczi, 2016/09/13
- [Qemu-devel] [PULL v2 11/19] mirror: auto complete active commit, Stefan Hajnoczi, 2016/09/13
- [Qemu-devel] [PULL v2 14/19] replication: Implement new driver for block replication, Stefan Hajnoczi, 2016/09/13
- [Qemu-devel] [PULL v2 16/19] support replication driver in blockdev-add, Stefan Hajnoczi, 2016/09/13
- [Qemu-devel] [PULL v2 15/19] tests: add unit test case for replication, Stefan Hajnoczi, 2016/09/13
- [Qemu-devel] [PULL v2 17/19] MAINTAINERS: add maintainer for replication, Stefan Hajnoczi, 2016/09/13
- [Qemu-devel] [PULL v2 18/19] tests: fix qvirtqueue_kick,
Stefan Hajnoczi <=
- [Qemu-devel] [PULL v2 19/19] iothread: Stop threads before main() quits, Stefan Hajnoczi, 2016/09/13
- Re: [Qemu-devel] [PULL v2 00/19] Block patches, Peter Maydell, 2016/09/13