X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;ds=sidebyside;f=examples%2Fvhost_xen%2Fvhost_monitor.c;h=fb9606bf0e0ba2ca0a810fbcc7d5ab3844d8bd1d;hb=e9980a75735889190bb789c4281eb542ca79db81;hp=f68398918375981da67ecebc573718f1d835f406;hpb=fdf20fa7bee9df9037116318a87080e1eb7e757e;p=dpdk.git diff --git a/examples/vhost_xen/vhost_monitor.c b/examples/vhost_xen/vhost_monitor.c index f683989183..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; @@ -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; } @@ -591,5 +593,3 @@ init_virtio_xen(struct virtio_net_device_ops const *const ops) return -1; return 0; } - -