Date: Sat, 29 Nov 2014 17:37:11 -0800 From: Neel Natu <neelnatu@gmail.com> To: Nikos Vassiliadis <nvass@gmx.com> Cc: "freebsd-virtualization@freebsd.org" <freebsd-virtualization@freebsd.org> Subject: Re: bhyve: Unsupported MSI-X configuration: 2/0/0 Message-ID: <CAFgRE9HS1aHjQGgR7nS=aanph-9_PjpS7_r3SQ%2B-mSi2JQfMzw@mail.gmail.com> In-Reply-To: <5479D1BE.2010106@gmx.com> References: <5478E4C4.3080203@gmx.com> <CAG=rPVfSXAxeJ3bB0ughSej2uv2-iQTqv-7Yp6PtBZo05RTUvw@mail.gmail.com> <5479D1BE.2010106@gmx.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi Nikos, On Sat, Nov 29, 2014 at 6:01 AM, Nikos Vassiliadis <nvass@gmx.com> wrote: > > > On 11/29/14 02:05, Craig Rodrigues wrote: >> >> On Fri, Nov 28, 2014 at 1:10 PM, Nikos Vassiliadis <nvass@gmx.com >> <mailto:nvass@gmx.com>> wrote: >> >> Hi, >> >> I am trying to use PCI passthrough to pass the bge device to a guest >> but I am doing something wrong. I have tried several combinations of >> pptdevs like "2/0/0 2/0/1 2/0/2 2/0/3" but it always fails on 2/0/0. >> Any ideas what I could try? >> >> >> Did you read this: https://wiki.freebsd.org/bhyve/pci_passthru ? >> >> After following those instructions, what is the output of pciconf -l -v >> before and after enabling PCI passthru? >> On the host and in the guest? > > > > Before loading vmm.ko: >> >> hostb0@pci0:0:0:0: class=0x060000 card=0x064b1025 chip=0x01548086 >> rev=0x09 hdr=0x00 >> pcib1@pci0:0:1:0: class=0x060400 card=0x064b1025 chip=0x01518086 >> rev=0x09 hdr=0x01 >> vgapci1@pci0:0:2:0: class=0x030000 card=0x064b1025 chip=0x01668086 >> rev=0x09 hdr=0x00 >> none0@pci0:0:22:0: class=0x078000 card=0x064b1025 chip=0x1e3a8086 >> rev=0x04 hdr=0x00 >> ehci0@pci0:0:26:0: class=0x0c0320 card=0x064b1025 chip=0x1e2d8086 >> rev=0x04 hdr=0x00 >> hdac0@pci0:0:27:0: class=0x040300 card=0x064b1025 chip=0x1e208086 >> rev=0x04 hdr=0x00 >> pcib2@pci0:0:28:0: class=0x060400 card=0x064b1025 chip=0x1e108086 >> rev=0xc4 hdr=0x01 >> pcib3@pci0:0:28:1: class=0x060400 card=0x064b1025 chip=0x1e128086 >> rev=0xc4 hdr=0x01 >> ehci1@pci0:0:29:0: class=0x0c0320 card=0x064b1025 chip=0x1e268086 >> rev=0x04 hdr=0x00 >> isab0@pci0:0:31:0: class=0x060100 card=0x064b1025 chip=0x1e578086 >> rev=0x04 hdr=0x00 >> ahci0@pci0:0:31:2: class=0x010601 card=0x064b1025 chip=0x1e038086 >> rev=0x04 hdr=0x00 >> none1@pci0:0:31:3: class=0x0c0500 card=0x064b1025 chip=0x1e228086 >> rev=0x04 hdr=0x00 >> vgapci0@pci0:1:0:0: class=0x030000 card=0x06911025 chip=0x114010de >> rev=0xa1 hdr=0x00 >> none2@pci0:2:0:0: class=0x020000 card=0x06471025 chip=0x16b514e4 >> rev=0x10 hdr=0x00 >> none3@pci0:2:0:1: class=0x080501 card=0x06471025 chip=0x16bc14e4 >> rev=0x10 hdr=0x00 >> none4@pci0:2:0:2: class=0x088000 card=0x06471025 chip=0x16be14e4 >> rev=0x10 hdr=0x00 >> none5@pci0:2:0:3: class=0x088000 card=0x06471025 chip=0x16bf14e4 >> rev=0x10 hdr=0x00 >> none6@pci0:3:0:0: class=0x028000 card=0xe042105b chip=0x472714e4 >> rev=0x01 hdr=0x00 > > > After loading vmm.ko: >> >> hostb0@pci0:0:0:0: class=0x060000 card=0x064b1025 chip=0x01548086 >> rev=0x09 hdr=0x00 >> pcib1@pci0:0:1:0: class=0x060400 card=0x064b1025 chip=0x01518086 >> rev=0x09 hdr=0x01 >> vgapci1@pci0:0:2:0: class=0x030000 card=0x064b1025 chip=0x01668086 >> rev=0x09 hdr=0x00 >> none0@pci0:0:22:0: class=0x078000 card=0x064b1025 chip=0x1e3a8086 >> rev=0x04 hdr=0x00 >> ehci0@pci0:0:26:0: class=0x0c0320 card=0x064b1025 chip=0x1e2d8086 >> rev=0x04 hdr=0x00 >> hdac0@pci0:0:27:0: class=0x040300 card=0x064b1025 chip=0x1e208086 >> rev=0x04 hdr=0x00 >> pcib2@pci0:0:28:0: class=0x060400 card=0x064b1025 chip=0x1e108086 >> rev=0xc4 hdr=0x01 >> pcib3@pci0:0:28:1: class=0x060400 card=0x064b1025 chip=0x1e128086 >> rev=0xc4 hdr=0x01 >> ehci1@pci0:0:29:0: class=0x0c0320 card=0x064b1025 chip=0x1e268086 >> rev=0x04 hdr=0x00 >> isab0@pci0:0:31:0: class=0x060100 card=0x064b1025 chip=0x1e578086 >> rev=0x04 hdr=0x00 >> ahci0@pci0:0:31:2: class=0x010601 card=0x064b1025 chip=0x1e038086 >> rev=0x04 hdr=0x00 >> none1@pci0:0:31:3: class=0x0c0500 card=0x064b1025 chip=0x1e228086 >> rev=0x04 hdr=0x00 >> vgapci0@pci0:1:0:0: class=0x030000 card=0x06911025 chip=0x114010de >> rev=0xa1 hdr=0x00 >> ppt0@pci0:2:0:0: class=0x020000 card=0x06471025 chip=0x16b514e4 >> rev=0x10 hdr=0x00 >> ppt1@pci0:2:0:1: class=0x080501 card=0x06471025 chip=0x16bc14e4 >> rev=0x10 hdr=0x00 >> ppt2@pci0:2:0:2: class=0x088000 card=0x06471025 chip=0x16be14e4 >> rev=0x10 hdr=0x00 >> ppt3@pci0:2:0:3: class=0x088000 card=0x06471025 chip=0x16bf14e4 >> rev=0x10 hdr=0x00 >> ppt4@pci0:3:0:0: class=0x028000 card=0xe042105b chip=0x472714e4 >> rev=0x01 hdr=0x00 > > > Then I start "bhyve ... -s 10,passthru,2/0/0 ..." and it spits: > "Unsupported MSI-X configuration: 2/0/0" > and quits. > The "Unsupported MSI-X configuration" referred to here is that bhyve doesn't emulate the 'Pending Bit Array'. In most cases this is not relevant because the PBA and the MSI-X tables are in different page frames. In this case the MSI-X tables are emulated and the pending bit array page is passed through to the guest. If the PBA and MSI-X tables are on the same page frame then you see this error. You can confirm this by doing 'pciconf -lvbc pci0:2:0:0'. Having said that the drivers I have seen don't rely at all on the PBA. So it may be possible that this works just fine with this patch: https://people.freebsd.org/~neel/patches/bhyve_ignore_unsupported_pba.patch If it does then I can add a tunable to bhyve to ignore this check. best Neel > This happens *only* with 2/0/0, that is the bge device. When I try to > passthrough this: >> >> none6@pci0:3:0:0: class=0x028000 card=0xe042105b chip=0x472714e4 >> rev=0x01 hdr=0x00 >> vendor = 'Broadcom Corporation' >> device = 'BCM4313 802.11b/g/n Wireless LAN Controller' >> class = network > > > it goes further, bhyve starts and the device is passed to the host but I > cannot use it from the VM. Actually my goal is to use the wifi adapter from > a VM. The bge device is just testing and I thought I should report it/ask > about it. > > > _______________________________________________ > freebsd-virtualization@freebsd.org mailing list > http://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?CAFgRE9HS1aHjQGgR7nS=aanph-9_PjpS7_r3SQ%2B-mSi2JQfMzw>