Lines Matching defs:queue
44 uint16 queue;
148 gVirtio->queue_interrupt_handler(cookie->sim, cookie->queue);
185 for (uint16 queue = 0; queue < bus->queue_count; queue++) {
189 *queueSelect = queue;
195 + VIRTIO_PCI_QUEUE_SEL, queue);
201 ERROR("msix queue vector incorrect\n");
394 get_queue_ring_size(void* cookie, uint16 queue)
401 *queueSelect = queue;
407 queue);
415 setup_queue(void* cookie, uint16 queue, phys_addr_t phy, phys_addr_t phyAvail,
420 if (queue >= bus->queue_count)
426 *queueSelect = queue;
443 bus->notifyOffsets[queue] = *queueNotifyOffset * bus->notifyOffsetMultiplier;
445 bus->pci->write_io_16(bus->device, bus->base_addr + VIRTIO_PCI_QUEUE_SEL, queue);
515 for (int32 queue = 0; queue < queueCount; queue++, irq++) {
516 bus->cookies[queue].sim = bus->sim;
517 bus->cookies[queue].queue = queue;
519 virtio_pci_queue_interrupt, &bus->cookies[queue], 0);
560 for (int32 queue = 0; queue < bus->queue_count; queue++, irq++)
561 remove_io_interrupt_handler(irq, virtio_pci_queue_interrupt, &bus->cookies[queue]);
577 notify_queue(void* cookie, uint16 queue)
581 if (queue >= bus->queue_count)
584 volatile uint16* notifyAddr = (volatile uint16*)(bus->notifyAddr + bus->notifyOffsets[queue]);
585 *notifyAddr = queue;
588 + VIRTIO_PCI_QUEUE_NOTIFY, queue);
729 for (int32 queue = 0; queue < bus->queue_count; queue++, irq++)
730 remove_io_interrupt_handler(irq, virtio_pci_queue_interrupt, &bus->cookies[queue]);