I suspect PCI interrupts are not functioning correctly.
Look at this code:
;; Attach interrupt handler.
(sup:debug-print-line "Handler: " (ahci-irq-handler ahci))
(sup:irq-attach (sup:platform-irq (pci:pci-intr-line location))
(ahci-irq-handler-function ahci)
ahci)
and this
(defun pci-intr-line (device)
(pci-config/8 device +pci-config-intr-line+)) ;; comment by me: the
constant is #x3c
I found that "PCI 0x3c" means PCI interrupt pin. AFAIK, interrupt pins
are not supported by bhyve, is that correct? If it's true, I need either
to teach bhyve how to deal with legacy interrupts or to teach Mezzano to
understand MSI. What would be easier in your opinion?
Legacy interrupts should work fine in bhyve for emulated devices. I'd
suspect this would be much easier to debug/enhance as opposed to adding
MSI (and likely MSI-x).
later,
Peter.