X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=examples%2Fvhost_xen%2Fvhost_monitor.c;h=fb9606bf0e0ba2ca0a810fbcc7d5ab3844d8bd1d;hb=e16408499412e67a6afab8eca3d7496b770ac0e9;hp=b9c1cb5ac220b4d4fe2ee95da633dd9260ffbfc1;hpb=3031749c2df04a63cdcef186dcce3781e61436e8;p=dpdk.git diff --git a/examples/vhost_xen/vhost_monitor.c b/examples/vhost_xen/vhost_monitor.c index b9c1cb5ac2..fb9606bf0e 100644 --- a/examples/vhost_xen/vhost_monitor.c +++ b/examples/vhost_xen/vhost_monitor.c @@ -97,14 +97,14 @@ init_watch(void) xs = xs_daemon_open(); if (xs == NULL) { RTE_LOG(ERR, XENHOST, "xs_daemon_open failed\n"); - return (-1); + return -1; } ret = xs_watch(xs, "/local/domain", "mytoken"); if (ret == 0) { RTE_LOG(ERR, XENHOST, "%s: xs_watch failed\n", __func__); xs_daemon_close(xs); - return (-1); + return -1; } /* We are notified of read availability on the watch via the file descriptor. */ @@ -126,7 +126,7 @@ get_xen_guest(int dom_id) return guest; } - return (NULL); + return NULL; } @@ -138,7 +138,7 @@ add_xen_guest(int32_t dom_id) if ((guest = get_xen_guest(dom_id)) != NULL) return guest; - guest = (struct xen_guest * )calloc(1, sizeof(struct xen_guest)); + guest = calloc(1, sizeof(struct xen_guest)); if (guest) { RTE_LOG(ERR, XENHOST, " %s: return newly created guest with %d rings\n", __func__, guest->vring_num); TAILQ_INSERT_TAIL(&guest_root, guest, next); @@ -181,8 +181,8 @@ add_config_ll_entry(struct virtio_net_config_ll *new_ll_dev) ll_root = new_ll_dev; } else { /* increment through the ll until we find un unused device_id, - * insert the device at that entry - */ + * insert the device at that entry + */ while ((ll_dev->next != NULL) && (ll_dev->dev.device_fh == (ll_dev->next->dev.device_fh - 1))) ll_dev = ll_dev->next; @@ -255,8 +255,8 @@ virtio_net_config_ll *new_device(unsigned int virtio_idx, struct xen_guest *gues /* Setup device and virtqueues. */ new_ll_dev = calloc(1, sizeof(struct virtio_net_config_ll)); - virtqueue_rx = rte_zmalloc(NULL, sizeof(struct vhost_virtqueue), CACHE_LINE_SIZE); - virtqueue_tx = rte_zmalloc(NULL, sizeof(struct vhost_virtqueue), CACHE_LINE_SIZE); + virtqueue_rx = rte_zmalloc(NULL, sizeof(struct vhost_virtqueue), RTE_CACHE_LINE_SIZE); + virtqueue_tx = rte_zmalloc(NULL, sizeof(struct vhost_virtqueue), RTE_CACHE_LINE_SIZE); if (new_ll_dev == NULL || virtqueue_rx == NULL || virtqueue_tx == NULL) goto err; @@ -285,9 +285,13 @@ virtio_net_config_ll *new_device(unsigned int virtio_idx, struct xen_guest *gues new_ll_dev->dev.mem = malloc(sizeof(struct virtio_memory) + sizeof(struct virtio_memory_regions) * MAX_XENVIRT_MEMPOOL); new_ll_dev->dev.mem->nregions = guest->pool_num; for (i = 0; i < guest->pool_num; i++) { - gpa = new_ll_dev->dev.mem->regions[i].guest_phys_address = (uint64_t)guest->mempool[i].gva; - new_ll_dev->dev.mem->regions[i].guest_phys_address_end = gpa + guest->mempool[i].mempfn_num * getpagesize(); - new_ll_dev->dev.mem->regions[i].address_offset = (uint64_t)guest->mempool[i].hva - gpa; + gpa = new_ll_dev->dev.mem->regions[i].guest_phys_address = + (uint64_t)((uintptr_t)guest->mempool[i].gva); + new_ll_dev->dev.mem->regions[i].guest_phys_address_end = + gpa + guest->mempool[i].mempfn_num * getpagesize(); + new_ll_dev->dev.mem->regions[i].address_offset = + (uint64_t)((uintptr_t)guest->mempool[i].hva - + (uintptr_t)gpa); } new_ll_dev->next = NULL; @@ -296,12 +300,10 @@ virtio_net_config_ll *new_device(unsigned int virtio_idx, struct xen_guest *gues add_config_ll_entry(new_ll_dev); return new_ll_dev; err: - if (new_ll_dev) - free(new_ll_dev); - if (virtqueue_rx) - rte_free(virtqueue_rx); - if (virtqueue_tx) - rte_free(virtqueue_tx); + free(new_ll_dev); + rte_free(virtqueue_rx); + rte_free(virtqueue_tx); + return NULL; } @@ -434,8 +436,8 @@ static void virtio_init(void) continue; for (j = 0; j < RTE_MAX_ETHPORTS; j++) { - rte_snprintf(node, PATH_MAX, "%s%d", VIRTIO_START, j); - rte_snprintf(path, PATH_MAX, XEN_VM_NODE_FMT, + snprintf(node, PATH_MAX, "%s%d", VIRTIO_START, j); + snprintf(path, PATH_MAX, XEN_VM_NODE_FMT, dom_id, node); th = xs_transaction_start(watch.xs); @@ -591,5 +593,3 @@ init_virtio_xen(struct virtio_net_device_ops const *const ops) return -1; return 0; } - -