From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47913) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XSjwW-0001fY-Hx for qemu-devel@nongnu.org; Sat, 13 Sep 2014 05:48:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XSjwR-0004Dc-Hl for qemu-devel@nongnu.org; Sat, 13 Sep 2014 05:48:32 -0400 Received: from szxga03-in.huawei.com ([119.145.14.66]:15326) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XSjwQ-0004BM-Ug for qemu-devel@nongnu.org; Sat, 13 Sep 2014 05:48:27 -0400 Message-ID: <541412D7.5060403@huawei.com> Date: Sat, 13 Sep 2014 17:48:07 +0800 From: Linhaifeng MIME-Version: 1.0 References: <1405640614-9252-1-git-send-email-mst@redhat.com> <1405640614-9252-7-git-send-email-mst@redhat.com> In-Reply-To: <1405640614-9252-7-git-send-email-mst@redhat.com> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PULL v2 6/7] qtest: Adapt vhost-user-test to latest vhost-user changes List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Michael S. Tsirkin" , qemu-devel@nongnu.org Cc: jerry.lilijun@huawei.com, Peter Maydell , Anthony Liguori , Nikolay Nikolaev , Antonios Motakis How to test send data to VM? On 2014/7/18 7:44, Michael S. Tsirkin wrote: > From: Nikolay Nikolaev > > A new field mmap_offset was added in the vhost-user message, we need to reflect > this change in the test too. > > Signed-off-by: Nikolay Nikolaev > Reviewed-by: Michael S. Tsirkin > Signed-off-by: Michael S. Tsirkin > --- > tests/vhost-user-test.c | 11 +++++++++-- > 1 file changed, 9 insertions(+), 2 deletions(-) > > diff --git a/tests/vhost-user-test.c b/tests/vhost-user-test.c > index 406ba70..75fedf0 100644 > --- a/tests/vhost-user-test.c > +++ b/tests/vhost-user-test.c > @@ -76,6 +76,7 @@ typedef struct VhostUserMemoryRegion { > uint64_t guest_phys_addr; > uint64_t memory_size; > uint64_t userspace_addr; > + uint64_t mmap_offset; > } VhostUserMemoryRegion; > > typedef struct VhostUserMemory { > @@ -205,6 +206,7 @@ static void read_guest_mem(void) > uint32_t *guest_mem; > gint64 end_time; > int i, j; > + size_t size; > > g_mutex_lock(data_mutex); > > @@ -231,8 +233,13 @@ static void read_guest_mem(void) > > g_assert_cmpint(memory.regions[i].memory_size, >, 1024); > > - guest_mem = mmap(0, memory.regions[i].memory_size, > - PROT_READ | PROT_WRITE, MAP_SHARED, fds[i], 0); > + size = memory.regions[i].memory_size + memory.regions[i].mmap_offset; > + > + guest_mem = mmap(0, size, PROT_READ | PROT_WRITE, > + MAP_SHARED, fds[i], 0); > + > + g_assert(guest_mem != MAP_FAILED); > + guest_mem += (memory.regions[i].mmap_offset / sizeof(*guest_mem)); > > for (j = 0; j < 256; j++) { > uint32_t a = readl(memory.regions[i].guest_phys_addr + j*4); >