| 959 | } |
| 960 | |
| 961 | int |
| 962 | rte_vhost_get_mem_table(int vid, struct rte_vhost_memory **mem) |
| 963 | { |
| 964 | struct virtio_net *dev; |
| 965 | struct rte_vhost_memory *m; |
| 966 | size_t size; |
| 967 | |
| 968 | dev = get_device(vid); |
| 969 | if (dev == NULL || mem == NULL) |
| 970 | return -1; |
| 971 | |
| 972 | size = dev->mem->nregions * sizeof(struct rte_vhost_mem_region); |
| 973 | m = malloc(sizeof(struct rte_vhost_memory) + size); |
| 974 | if (!m) |
| 975 | return -1; |
| 976 | |
| 977 | m->nregions = dev->mem->nregions; |
| 978 | memcpy(m->regions, dev->mem->regions, size); |
| 979 | *mem = m; |
| 980 | |
| 981 | return 0; |
| 982 | } |
| 983 | |
| 984 | int |
| 985 | rte_vhost_get_vhost_vring(int vid, uint16_t vring_idx, |
no test coverage detected