Farid Joubbi <djfarid%gmail.com@localhost> writes:
> I have a server running FreeBSD 11.1-RELEASE-p11.
> I would like to run NetBSD using bhyve on that.
That's interesting; there has been little discussion of running NetBSD
under bhyve so far.
> I have configured passthrough of two different PCI Express network
> interface cards. I can't get neither OpenBSD nor NetBSD to work with these
> NICs.
>
> I get this in dmesg when booting the NetBSD install:
>
> wm0 at pci0 dev 5 function 0: 82576 quad-1000BaseT Ethernet (rev. 0x01)
> pci_intr_map: no mapping for pin B (line=ff)
> wm0: unable to map interrupt
> bge0 at pci0 dev 6 function 0: Broadcom BCM5720 Gigabit Ethernet
> pci_intr_map: no mapping for pin B (line=ff)
> bge0: couldn't map interrupt
It seems that while setting up interrupts the wm driver and code it
calls runs into a situation that it can't handle, either because the
situation is buggy or because the code doesn't handle something which is
legitimate (per the PCI spec) but unusual.
I would read the code in the wm driver and then find pci_intr_map, and
see what debugging variables are defined, and build a kernel with them
turned on. Then I would either figure out how to run kgdb or add
printfs.
I would also look at the demsg from FreeBSD and CentOS, and turn on any
verbosity you can, and understand how the interrupt is mapped there.
> With OpenBSD it's the same error.
> I have no problems running FreeBSD or CentOS with the exact same setup.
>
> I realize that the problem is probably in bhyve and not in NetBSD, but is
Could be either way. But you'll only know when you find out what's
wrong and read the specs.
> there a (easy) way to debug this from NetBSD in order to figure out what
> the actual problem is?
> Why aren't FreeBSD and CentOS having the same issue?
My guess is that the bhyve code, as it was developed, was made to be
enough like real hardware to get FreeBSD and Linux to work, and nobody
has debugged the other situations.