How to test send data to VM?

On 2014/7/18 7:44, Michael S. Tsirkin wrote:
> From: Nikolay Nikolaev <n.nikol...@virtualopensystems.com>
> 
> 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 <n.nikol...@virtualopensystems.com>
> Reviewed-by: Michael S. Tsirkin <m...@redhat.com>
> Signed-off-by: Michael S. Tsirkin <m...@redhat.com>
> ---
>  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);
> 


Reply via email to