From: Waldemar Kozaczuk <[email protected]>
Committer: Nadav Har'El <[email protected]>
Branch: master

aarch64: until MSI-X support becomes functional do not try to setup vqueue 
MSI-X vector

This patch is a follow up to the previous commit 
b98cd8dc851282bd1b53860460831f77c63b18b3
and disables the logic to set MSI-X vector when setting up vqueues.

Refs #1088

Signed-off-by: Waldemar Kozaczuk <[email protected]>
Message-Id: <[email protected]>

---
diff --git a/drivers/virtio-pci-device.cc b/drivers/virtio-pci-device.cc
--- a/drivers/virtio-pci-device.cc
+++ b/drivers/virtio-pci-device.cc
@@ -48,13 +48,13 @@ void 
virtio_pci_device::register_interrupt(interrupt_factory irq_factory)
     // Currently MSI-X support for aach64 is stubbed (please see 
arch/aarch64/msi.cc)
     // so until it becomes functional we register regular PCI interrupt
     _irq.reset(irq_factory.create_pci_interrupt(*_dev));
-#else  
+#else
     if (irq_factory.register_msi_bindings && _dev->is_msix()) {
         irq_factory.register_msi_bindings(_msi);
     } else {
         _irq.reset(irq_factory.create_pci_interrupt(*_dev));
     }
-#endif    
+#endif
 }
 
 virtio_legacy_pci_device::virtio_legacy_pci_device(pci::device *dev)
@@ -69,6 +69,7 @@ void virtio_legacy_pci_device::kick_queue(int queue)
 
 void virtio_legacy_pci_device::setup_queue(vring *queue)
 {
+#ifndef AARCH64_PORT_STUB
     if (_dev->is_msix()) {
         // Setup queue_id:entry_id 1:1 correlation...
         virtio_conf_writew(VIRTIO_MSI_QUEUE_VECTOR, queue->index());
@@ -77,6 +78,7 @@ void virtio_legacy_pci_device::setup_queue(vring *queue)
             return;
         }
     }
+#endif
     // Tell host about pfn
     // TODO: Yak, this is a bug in the design, on large memory we'll have PFNs 
> 32 bit
     // Dor to notify Rusty
@@ -179,6 +181,7 @@ void virtio_modern_pci_device::setup_queue(vring *queue)
 {
     auto queue_index = queue->index();
 
+#ifndef AARCH64_PORT_STUB
     if (_dev->is_msix()) {
         // Setup queue_id:entry_id 1:1 correlation...
         
_common_cfg->virtio_conf_writew(COMMON_CFG_OFFSET_OF(queue_msix_vector), 
queue_index);
@@ -187,6 +190,7 @@ void virtio_modern_pci_device::setup_queue(vring *queue)
             return;
         }
     }
+#endif
 
     _queues_notify_offsets[queue_index] =
             
_common_cfg->virtio_conf_readw(COMMON_CFG_OFFSET_OF(queue_notify_off));

-- 
You received this message because you are subscribed to the Google Groups "OSv 
Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/osv-dev/000000000000d89e0305a9d5640f%40google.com.

Reply via email to