diff options
author | Paolo Bonzini | 2018-12-03 16:32:22 +0100 |
---|---|---|
committer | Paolo Bonzini | 2019-02-05 16:50:15 +0100 |
commit | 5a583cc55531b1bac7f652b848a0884c808d953d (patch) | |
tree | ed31158489363aa06ddb3ffc246696b3469b0489 /tests | |
parent | vhost-user-test: signal data_cond when s->rings changes (diff) | |
download | qemu-5a583cc55531b1bac7f652b848a0884c808d953d.tar.gz qemu-5a583cc55531b1bac7f652b848a0884c808d953d.tar.xz qemu-5a583cc55531b1bac7f652b848a0884c808d953d.zip |
vhost-user-test: support VHOST_USER_PROTOCOL_F_CROSS_ENDIAN
This will be useful to run the qtest for ppc64 targets on (for example)
x86_64 hosts.
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <1543851204-41186-10-git-send-email-pbonzini@redhat.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/vhost-user-test.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/tests/vhost-user-test.c b/tests/vhost-user-test.c index 8eb7943774..a4f51b5e11 100644 --- a/tests/vhost-user-test.c +++ b/tests/vhost-user-test.c @@ -51,6 +51,7 @@ #define VHOST_USER_F_PROTOCOL_FEATURES 30 #define VHOST_USER_PROTOCOL_F_MQ 0 #define VHOST_USER_PROTOCOL_F_LOG_SHMFD 1 +#define VHOST_USER_PROTOCOL_F_CROSS_ENDIAN 6 #define VHOST_LOG_PAGE 0x1000 @@ -251,7 +252,7 @@ static void wait_for_fds(TestServer *s) static void read_guest_mem_server(TestServer *s) { - uint32_t *guest_mem; + uint8_t *guest_mem; int i, j; size_t size; @@ -278,8 +279,8 @@ static void read_guest_mem_server(TestServer *s) g_assert(guest_mem != MAP_FAILED); guest_mem += (s->memory.regions[i].mmap_offset / sizeof(*guest_mem)); - for (j = 0; j < 256; j++) { - uint32_t a = readl(s->memory.regions[i].guest_phys_addr + j*4); + for (j = 0; j < 1024; j++) { + uint32_t a = readb(s->memory.regions[i].guest_phys_addr + j); uint32_t b = guest_mem[j]; g_assert_cmpint(a, ==, b); @@ -367,6 +368,7 @@ static void chr_read(void *opaque, const uint8_t *buf, int size) msg.flags |= VHOST_USER_REPLY_MASK; msg.size = sizeof(m.payload.u64); msg.payload.u64 = 1 << VHOST_USER_PROTOCOL_F_LOG_SHMFD; + msg.payload.u64 |= 1 << VHOST_USER_PROTOCOL_F_CROSS_ENDIAN; if (s->queues > 1) { msg.payload.u64 |= 1 << VHOST_USER_PROTOCOL_F_MQ; } |