diff options
Diffstat (limited to 'vnet')
-rw-r--r-- | vnet/vnet/devices/dpdk/device.c | 28 | ||||
-rw-r--r-- | vnet/vnet/devices/dpdk/vhost_user.c | 18 | ||||
-rw-r--r-- | vnet/vnet/devices/virtio/vhost-user.c | 8 |
3 files changed, 27 insertions, 27 deletions
diff --git a/vnet/vnet/devices/dpdk/device.c b/vnet/vnet/devices/dpdk/device.c index 20c8b8f77cc..ab85dfb48a9 100644 --- a/vnet/vnet/devices/dpdk/device.c +++ b/vnet/vnet/devices/dpdk/device.c @@ -1206,7 +1206,6 @@ admin_up_down_process (vlib_main_t * vm, clib_error_t * error = 0; uword event_type; uword *event_data = 0; - u32 index; u32 sw_if_index; u32 flags; @@ -1218,18 +1217,18 @@ admin_up_down_process (vlib_main_t * vm, dpdk_main.admin_up_down_in_progress = 1; - for (index=0; index<vec_len(event_data); index++) + switch (event_type) { + case UP_DOWN_FLAG_EVENT: { - sw_if_index = event_data[index] >> 32; - flags = (u32) event_data[index]; - - switch (event_type) { - case UP_DOWN_FLAG_EVENT: - error = vnet_sw_interface_set_flags (vnet_get_main(), sw_if_index, flags); - clib_error_report(error); - break; - } + if (vec_len(event_data) == 2) { + sw_if_index = event_data[0]; + flags = event_data[1]; + error = vnet_sw_interface_set_flags (vnet_get_main(), sw_if_index, flags); + clib_error_report(error); + } } + break; + } vec_reset_length (event_data); @@ -1257,10 +1256,11 @@ VLIB_REGISTER_NODE (admin_up_down_process_node,static) = { */ void post_sw_interface_set_flags (vlib_main_t *vm, u32 sw_if_index, u32 flags) { - vlib_process_signal_event + uword * d = vlib_process_signal_event_data (vm, admin_up_down_process_node.index, - UP_DOWN_FLAG_EVENT, - (((uword)sw_if_index << 32) | flags)); + UP_DOWN_FLAG_EVENT, 2, sizeof(u32)); + d[0] = sw_if_index; + d[1] = flags; } /* diff --git a/vnet/vnet/devices/dpdk/vhost_user.c b/vnet/vnet/devices/dpdk/vhost_user.c index c82b37f9927..9bf76741588 100644 --- a/vnet/vnet/devices/dpdk/vhost_user.c +++ b/vnet/vnet/devices/dpdk/vhost_user.c @@ -106,11 +106,11 @@ static int dpdk_vhost_user_set_vring_enable(u32 hw_if_index, */ -static uint64_t -qva_to_vva(struct virtio_net *dev, uint64_t qemu_va) +static uword +qva_to_vva(struct virtio_net *dev, uword qemu_va) { struct virtio_memory_regions *region; - uint64_t vhost_va = 0; + uword vhost_va = 0; uint32_t regionidx = 0; /* Find the region where the address lives. */ @@ -176,7 +176,7 @@ static void disable_interface(dpdk_device_t * xd) xd->vu_is_running = 0; } -static inline void * map_guest_mem(dpdk_device_t * xd, u64 addr) +static inline void * map_guest_mem(dpdk_device_t * xd, uword addr) { dpdk_vu_intf_t * vui = xd->vu_intf; struct virtio_memory * mem = xd->vu_vhost_dev.mem; @@ -184,7 +184,7 @@ static inline void * map_guest_mem(dpdk_device_t * xd, u64 addr) for (i=0; i<mem->nregions; i++) { if ((mem->regions[i].guest_phys_address <= addr) && ((mem->regions[i].guest_phys_address + mem->regions[i].memory_size) > addr)) { - return (void *) (vui->region_addr[i] + addr - mem->regions[i].guest_phys_address); + return (void *) ((uword)vui->region_addr[i] + addr - (uword)mem->regions[i].guest_phys_address); } } DBG_SOCK("failed to map guest mem addr %lx", addr); @@ -563,8 +563,8 @@ dpdk_vhost_user_set_vring_num(u32 hw_if_index, u8 idx, u32 num) } static clib_error_t * -dpdk_vhost_user_set_vring_addr(u32 hw_if_index, u8 idx, u64 desc, \ - u64 used, u64 avail, u64 log) +dpdk_vhost_user_set_vring_addr(u32 hw_if_index, u8 idx, uword desc, \ + uword used, uword avail, uword log) { dpdk_device_t * xd; struct vhost_virtqueue *vq; @@ -1190,7 +1190,7 @@ static clib_error_t * dpdk_vhost_user_socket_read (unix_file_t * uf) goto close_socket; } - xd->vu_vhost_dev.log_base += (u64)addr + msg.log.offset; + xd->vu_vhost_dev.log_base += pointer_to_uword(addr) + msg.log.offset; xd->vu_vhost_dev.log_size = msg.log.size; msg.flags |= VHOST_USER_REPLY_MASK; msg.size = sizeof(msg.u64); @@ -1898,7 +1898,7 @@ show_dpdk_vhost_user_command_fn (vlib_main_t * vm, vq->desc[j].len, vq->desc[j].flags, vq->desc[j].next, - (u64) map_guest_mem(xd, vq->desc[j].addr));} + pointer_to_uword(map_guest_mem(xd, vq->desc[j].addr)));} } } vlib_cli_output (vm, "\n"); diff --git a/vnet/vnet/devices/virtio/vhost-user.c b/vnet/vnet/devices/virtio/vhost-user.c index 8486135dd69..5902c42b369 100644 --- a/vnet/vnet/devices/virtio/vhost-user.c +++ b/vnet/vnet/devices/virtio/vhost-user.c @@ -140,7 +140,7 @@ static int vhost_user_name_renumber (vnet_hw_interface_t * hi, } -static inline void * map_guest_mem(vhost_user_intf_t * vui, u64 addr) +static inline void * map_guest_mem(vhost_user_intf_t * vui, uword addr) { int i; for (i=0; i<vui->nregions; i++) { @@ -153,7 +153,7 @@ static inline void * map_guest_mem(vhost_user_intf_t * vui, u64 addr) return 0; } -static inline void * map_user_mem(vhost_user_intf_t * vui, u64 addr) +static inline void * map_user_mem(vhost_user_intf_t * vui, uword addr) { int i; for (i=0; i<vui->nregions; i++) { @@ -1949,7 +1949,7 @@ show_vhost_user_command_fn (vlib_main_t * vm, vui->regions[j].memory_size, vui->regions[j].userspace_addr, vui->regions[j].mmap_offset, - (u64) vui->region_mmap_addr[j]); + pointer_to_uword( vui->region_mmap_addr[j]) ); } for (q = 0; q < vui->num_vrings; q++) { vlib_cli_output(vm, "\n Virtqueue %d\n", q); @@ -1982,7 +1982,7 @@ show_vhost_user_command_fn (vlib_main_t * vm, vui->vrings[q].desc[j].len, vui->vrings[q].desc[j].flags, vui->vrings[q].desc[j].next, - (u64) map_guest_mem(vui, vui->vrings[q].desc[j].addr));} + pointer_to_uword(map_guest_mem(vui, vui->vrings[q].desc[j].addr)));} } } vlib_cli_output (vm, "\n"); |