bhyve PCIe passthrough on AMD Epyc

Rodney W. Grimes freebsd-rwg at pdx.rh.CN85.dnsmgr.net
Thu Feb 28 05:34:28 UTC 2019


> > On Feb 27, 2019, at 12:32 AM, Rodney W. Grimes <freebsd-rwg at pdx.rh.CN85.dnsmgr.net> wrote:
> > 
> >> I'm trying to get PCIe device (video card) passthrough working to a Windows bhyve VM, should this work now?
> > 
> > No, this should not work now.
> 
> Ok, easy enough. Should *any* PCIe passthrough work on Epyc right now?
I do not know what would be special about Epyc so can not say
for certain.

> Just trying the same thing with a simple PCIe USB card gives me:
> 
> CPU0: local APIC error 0x40
> CPU0: local APIC error 0x40
> ivhd0: Error: completion failed tail:0xda0, head:0x0.
> ivhd0: Dump all the commands:
>   [CMD0, off:0xff0] opcode= 0x0 0x0 0x0 0x0
>   [CMD1, off:0x0] opcode= 0x3 0x0 0x0 0x7ffffffffffff003
>   [CMD2, off:0x10] opcode= 0x0 0x0 0x0 0x0
>   [CMD3, off:0x20] opcode= 0x2 0x0 0x0 0x0
>   [CMD4, off:0x30] opcode= 0x2 0x2 0x0 0x0
> [...snip... lots of similar stuff]
> 
> Then I get a bunch more APIC errors, and the system freezes for about 60 seconds before recovering.

You do not get any host dmesg errors about unaligned BAR
ranges or sizes?

Can you get the pciconf -l -b info for the device you passed, something like:
# pciconf -l -b uhci0
uhci0 at pci0:0:26:0:      class=0x0c0300 card=0x20f017aa chip=0x29378086 rev=0x03 hdr=0x00
    bar   [20] = type I/O Port, range 32, base 0x1840, size 32, enabled

> -- Kevin
-- 
Rod Grimes                                                 rgrimes at freebsd.org


More information about the freebsd-virtualization mailing list