hs-test: cat summary file after a failed test run
[vpp.git] / src / vnet / devices / virtio / virtio_pci_legacy.c
index f70776d..d7a1c98 100644 (file)
@@ -113,8 +113,10 @@ virtio_pci_legacy_set_guest_features (vlib_main_t * vm, virtio_if_t * vif,
       clib_warning ("only 32 bit features are allowed for legacy virtio!");
     }
   u32 features = 0;
+  u32 gf = (u32) guest_features;
+
   vlib_pci_write_io_u32 (vm, vif->pci_dev_handle, VIRTIO_PCI_GUEST_FEATURES,
-                        (u32 *) & guest_features);
+                        &gf);
   vlib_pci_read_io_u32 (vm, vif->pci_dev_handle, VIRTIO_PCI_GUEST_FEATURES,
                        &features);
   if (features != (u32) guest_features)
@@ -174,18 +176,18 @@ virtio_pci_legacy_set_queue_num (vlib_main_t * vm, virtio_if_t * vif,
 }
 
 static u8
-virtio_pci_legacy_setup_queue (vlib_main_t * vm, virtio_if_t * vif,
-                              u16 queue_id, void *p)
+virtio_pci_legacy_setup_queue (vlib_main_t *vm, virtio_if_t *vif, u16 queue_id,
+                              vnet_virtio_vring_t *vring)
 {
-  u64 addr = vlib_physmem_get_pa (vm, p) >> VIRTIO_PCI_QUEUE_ADDR_SHIFT;
-  u32 addr2 = 0;
+  u64 addr =
+    vlib_physmem_get_pa (vm, vring->desc) >> VIRTIO_PCI_QUEUE_ADDR_SHIFT;
+  u32 addr2 = 0, a = (u32) addr;
   vlib_pci_write_io_u16 (vm, vif->pci_dev_handle, VIRTIO_PCI_QUEUE_SEL,
                         &queue_id);
-  vlib_pci_write_io_u32 (vm, vif->pci_dev_handle, VIRTIO_PCI_QUEUE_PFN,
-                        (u32 *) & addr);
+  vlib_pci_write_io_u32 (vm, vif->pci_dev_handle, VIRTIO_PCI_QUEUE_PFN, &a);
   vlib_pci_read_io_u32 (vm, vif->pci_dev_handle, VIRTIO_PCI_QUEUE_PFN,
                        &addr2);
-  if ((u32) addr == addr2)
+  if (addr == addr2)
     return 0;
 
   clib_warning ("legacy queue setup failed!");
@@ -202,9 +204,16 @@ virtio_pci_legacy_del_queue (vlib_main_t * vm, virtio_if_t * vif,
   vlib_pci_write_io_u32 (vm, vif->pci_dev_handle, VIRTIO_PCI_QUEUE_PFN, &src);
 }
 
+static u16
+virtio_pci_legacy_get_queue_notify_off (vlib_main_t * vm, virtio_if_t * vif,
+                                       u16 queue_id)
+{
+  return 0;
+}
+
 inline void
 virtio_pci_legacy_notify_queue (vlib_main_t * vm, virtio_if_t * vif,
-                               u16 queue_id)
+                               u16 queue_id, u16 queue_notify_off)
 {
   vlib_pci_write_io_u16 (vm, vif->pci_dev_handle, VIRTIO_PCI_QUEUE_NOTIFY,
                         &queue_id);
@@ -363,6 +372,7 @@ const virtio_pci_func_t virtio_pci_legacy_func = {
   .set_queue_size = virtio_pci_legacy_set_queue_num,
   .setup_queue = virtio_pci_legacy_setup_queue,
   .del_queue = virtio_pci_legacy_del_queue,
+  .get_queue_notify_off = virtio_pci_legacy_get_queue_notify_off,
   .notify_queue = virtio_pci_legacy_notify_queue,
   .set_config_irq = virtio_pci_legacy_set_config_irq,
   .set_queue_irq = virtio_pci_legacy_set_queue_irq,