[Bug 250802] bhyve exited with status 134 when GPU PCI passthrough

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Mon Nov 9 20:24:48 UTC 2020


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=250802

--- Comment #46 from Konstantin Belousov <kib at FreeBSD.org> ---
(In reply to mr.xanto from comment #45)
Ok, so my current understanding after looking at all debug data:

1. The real hardware BAR base address is 0xd000000.
2. We remap the BAR at 0x800000000 in guest.
3. The guest vmexit was due to EPT violation (exit reason 0x30) at GPA 
   0xde6d5000.

Indeed, we did not mapped anything in the guest phys address 0xd0000000.
I cannot explain it in any other way, then assume that NVIDIA device exposes
BAR' bases somewhere beyond config space, and NVIDIA driver knows about that.
Then it accesses (remaps in guest VA) something by that side-channel address.

So there is no bug in bhyve as is, instead I would say that we have an
incompatibility between hardware and virtualization.  A possible, but quite
work-intensive approach to *try* to fix it is to ensure that pass-through
devices get their BARs bases mapped with GPA identical to HPA (host physical
address).  Doing that requires full rewrite of the BAR resource alloc code
in bhyve.

Any thought ?

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-virtualization mailing list