dpdk/build - 32bits compilation 18/1118/3
authorChristophe Fontaine <christophe.fontaine@qosmos.com>
Wed, 11 May 2016 08:36:24 +0000 (08:36 +0000)
committerDamjan Marion <damarion@cisco.com>
Tue, 17 May 2016 19:24:17 +0000 (19:24 +0000)
In vnet/vnet/devices/dpdk/device.c, post 2 event data instead of
merging them into 1 u64.

Change-Id: I8b1d61b894279fb6eb57bb82a05affc14360e6b8
Signed-off-by: Christophe Fontaine <christophe.fontaine@qosmos.com>
vlib/vlib/dpdk_buffer.c
vnet/vnet/devices/dpdk/device.c
vnet/vnet/devices/dpdk/vhost_user.c
vnet/vnet/devices/virtio/vhost-user.c

index 358d366..ce0f326 100644 (file)
@@ -980,7 +980,7 @@ vlib_buffer_pool_create(vlib_main_t * vm, unsigned num_mbufs,
             }
 
           /* check if fits into buffer index range */
-          if (new_size > ( (uword) 1 << (32 + CLIB_LOG2_CACHE_LINE_BYTES)))
+          if ( (u64)new_size > ( (u64) 1 << (32 + CLIB_LOG2_CACHE_LINE_BYTES)))
             rmp = 0;
         }
     }
index 20c8b8f..ab85dfb 100644 (file)
@@ -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;
 }
 
 /*
index c82b37f..9bf7674 100644 (file)
@@ -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");
index 8486135..5902c42 100644 (file)
@@ -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");