Date: Tue, 22 May 2018 12:43:17 -0700 From: Neel Natu <neelnatu@gmail.com> To: Mario Lobo <lobo@bsd.com.br> Cc: Felix Palmen <felix@palmen-it.de>, "freebsd-virtualization@freebsd.org" <freebsd-virtualization@freebsd.org> Subject: Re: bhyve: passthrough of PCIe device without MSI possible? Message-ID: <CAFgRE9HmwkLXg0R4iyHcs_T5-pd9eKWtTYgcpYE5Kami08t3wQ@mail.gmail.com> In-Reply-To: <CA%2ByoEx_8WM1Q6rnSdk-Kf7V13OLbXseU0u6Be8xntZ8ncpzjyg@mail.gmail.com> References: <7167ea46-ee07-8ffa-615e-0f3d3eb92e64@palmen-it.de> <CA%2ByoEx_8WM1Q6rnSdk-Kf7V13OLbXseU0u6Be8xntZ8ncpzjyg@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, May 20, 2018 at 12:04 PM, Mario Lobo <lobo@bsd.com.br> wrote: > Hi Felix; > > I had the same impression and I was attempting to do the same with no > success. > > Have you managed to make it work? > > 2018-05-11 12:26 GMT-03:00 Felix Palmen <felix@palmen-it.de>: > >> I have the following PCIe card on a host running 11.1-RELEASE: >> >> | ppt0@pci0:5:0:0: class=0x078000 card=0x00011b74 chip=0x08101b74 >> rev=0x14 hdr=0x00 >> | vendor = 'OpenVox Communication Co. Ltd.' >> | class = simple comms >> >> it doesn't support MSI according to `pciconf -lbc`: >> >> | ppt0@pci0:5:0:0: class=0x078000 card=0x00011b74 chip=0x08101b74 >> rev=0x14 hdr=0x00 >> | bar [10] = type Memory, range 32, base 0xdfe00000, size 524288, >> enabled >> >> Trying to pass this card to a guest using `vm-bhyve` gives me the >> following in `bhyve.log`: >> >> | bhyve: failed to initialize MSI for PCI 5/0/0 >> >> and this in `vm-byve.log`: >> >> | [bhyve options: -c 2 -m 2G -Hwl bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI.fd >> -U 9f2546f5-5464-11e8-8b52-d05099c0f275 -S] >> | [bhyve devices: -s 0,hostbridge -s 31,lpc -s >> 4:0,virtio-blk,/dev/zvol/zroot/vm/pbx/disk0 -s >> 5:0,virtio-net,tap2,mac=58:9c:fc:00:d7:6b -s 6:0,passthru,5/0/0 -s >> 7:0,fbuf,tcp=0.0.0.0:5900] >> | [bhyve console: -l com1,/dev/nmdm0A] >> | [bhyve iso device: -s 3:0,ahci-cd,/var/vm/.config/null.iso] >> | starting bhyve (run 1) >> | bhyve exited with status 1 >> >> Now .. is it actually possible to pass such a device to a bhyve guest? >> From the code comment here: >> <https://github.com/freebsd/freebsd/blob/master/usr.sbin/bhy >> ve/pci_passthru.c#L257> >> I assumed MSI would be "emulated" if necessary? >> I suspect that your PCI device does not advertise the capabilities bit in its status register. MSI emulation depends on this bit being set: https://github.com/freebsd/freebsd/blob/master/usr.sbin/bhyve/pci_passthru.c#L263 I can't see any reason this wouldn't work by emulating that bit and the capabilities pointer in config space. best Neel >> TIA, Felix >> >> -- >> Dipl.-Inform. Felix Palmen <felix@palmen-it.de> ,.//.......... >> {web} http://palmen-it.de {jabber} [see email] ,//palmen-it.de >> {pgp public key} http://palmen-it.de/pub.txt // """"""""""" >> {pgp fingerprint} ED9B 62D0 BE39 32F9 2488 5D0C 8177 9D80 5ECF F683 >> _______________________________________________ >> freebsd-virtualization@freebsd.org mailing list >> https://lists.freebsd.org/mailman/listinfo/freebsd-virtualization >> To unsubscribe, send any mail to "freebsd-virtualization-unsubs >> cribe@freebsd.org" >> > > > > -- > Mario Lobo > http://www.mallavoodoo.com.br > FreeBSD since version 2.2.8 [not Pro-Audio.... YET!!] > _______________________________________________ > freebsd-virtualization@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-virtualization > To unsubscribe, send any mail to "freebsd-virtualization-unsubscribe@freebsd.org"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAFgRE9HmwkLXg0R4iyHcs_T5-pd9eKWtTYgcpYE5Kami08t3wQ>
