Mark Kettenis wrote: > > Date: Thu, 28 Mar 2019 09:00:35 -0700 > > From: Chris Cappuccio <ch...@nmedia.net> > > > > I think the current MSI-X implementation is a minimal skeleton, > > enough for some devices under virtualization. I don't know if it's > > enough for NVMe on real hardware. > > The main problem is that the MSI-X implementation has > machine-depenedent bits that are not implemented on all platforms.
We do have macros everywhere though. #define pci_intr_map_msix(pa, vec, ihp) (-1) I think that should be good enough to allow the code to continue building on all platforms and fallback, no? > > > > > > - if (pci_intr_map_msi(pa, &ih) != 0) { > > > + if ((pci_intr_map_msix(pa, 0, &ih) != 0) && (pci_intr_map_msi(pa, &ih) > > > != > > > 0)) { > > > if (pci_intr_map(pa, &ih) != 0) { > > > printf(": unable to map interrupt\n"); > > > goto unmap; > > > > >