summary refs log tree commit diff stats
path: root/results/classifier/zero-shot/105/device/1333688
blob: 00982904da5ab9648eb311cbc773a8a7745bf986 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
device: 0.497
network: 0.484
vnc: 0.365
socket: 0.278
instruction: 0.229
graphic: 0.222
boot: 0.147
semantic: 0.132
KVM: 0.131
other: 0.125
mistranslation: 0.108
assembly: 0.079

vhost-user: VHOST_USER_SET_MEM_TABLE doesn't contain all regions



vhost-user implementation doesn't provide information about all memory regions, 
and in some cases client is not able to map buffer memory as he is missing 
memory region information for specific address.

Same thing is implemented properly for vhost-net. Below gdb outputs are 
showing memory regions information provided to the vhost-net and vhost-user.



==== memory regions information provided to vhost-net  ====

(gdb) p/x hdev->mem->regions[0]
$21 = {
  guest_phys_addr = 0x100000000,
  memory_size = 0xc0000000,
  userspace_addr = 0x2aab6ac00000,
  flags_padding = 0x0
}
(gdb) p/x hdev->mem->regions[1]
$22 = {
  guest_phys_addr = 0xfffc0000,
  memory_size = 0x40000,
  userspace_addr = 0x7ffff4a00000,
  flags_padding = 0x0
}
(gdb) p/x hdev->mem->regions[2]
$23 = {
  guest_phys_addr = 0x0,
  memory_size = 0xa0000,
  userspace_addr = 0x2aaaaac00000,
  flags_padding = 0x0
}
(gdb) p/x hdev->mem->regions[3]
$24 = {
  guest_phys_addr = 0xc0000,
  memory_size = 0xbff40000,
  userspace_addr = 0x2aaaaacc0000,
  flags_padding = 0x0
}
(gdb)


==== memory regions information provided to vhost-user  ====

(gdb) p/x msg.memory.nregions
$28 = 0x1
(gdb) p/x msg.memory.regions[0]
$29 = {
  guest_phys_addr = 0x0,
  memory_size = 0x180000000,
  userspace_addr = 0x2aaaaac00000
}
(gdb)

Problem fixed in qemu commit 3fd74b84.