Issues with GTX960 on CentOS7 using bhyve PCI passthru (FreeBSD 11-RC2)

soralx at soralx at
Thu Jan 12 02:48:12 UTC 2017

> Hi,
> >> The problem appears to be in the area of assigning memory-mapped
> >> I/O ranges by bhyve for the VGA card to a region outside of the
> >> CPU's addressable space; i.e., bhyve does not check CPUID's
> >> 0x80000008 AL value (0x27 for my CPU, which is 39 bits -- while
> >> bhyve assigns 0xd000000000 & above for the large Prefetch Memory
> >> chunks, which requires 40 address bits).  
>   That's correct - it's a bug in bhyve.

Baking a proper fix will be more complicated by the fact that PCIe
cards themselves may have limitations. For example, most nVidia GPUs
have 40 bits DMA addressing capability, some 39, an a few (still
modern) ones -- just 37 [ref. nVidia "README" in the driver package].

>   PCI passthru doesn't allow the BAR values to be modified (this could 
> be changed, but it's a lot of work for little gain).

Removing another signature of detecting virtualization and increasing
compatibility would be negligible gain? Just asking...

> > But:
> >   # ./nvidia-smi
> >   No devices were found
> > dmesg:
> >   [  173.498953] NVRM: RmInitAdapter failed! (0x53:0x3:1856)
> >   [  173.499115] NVRM: rm_init_adapter failed for device bearing
> > minor number 0  
>   Looks like you're getting close :)

Hmm, I'm not seeing myself getting much closer here. Do you know
something I don't? ;) I really hope bhyve developers can spare a
bit of time on getting GPU passthrough to work... I know nothing
about these things, and where I waste half a day messing around,
the problem could be fixed in half an hour by someone who knows.

> later,
> Peter.

[SorAlx]  ridin' VN2000 Classic LT

More information about the freebsd-virtualization mailing list