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.
