> From: "Ted Unangst" <t...@tedunangst.com> > Date: Mon, 01 Apr 2019 05:55:34 -0400 > > 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?
Hmm, maybe, yes. > > > > - 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; > > > > > > > > >