Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 09 Nov 2020 20:24:47 +0000
From:      bugzilla-noreply@freebsd.org
To:        virtualization@FreeBSD.org
Subject:   [Bug 250802] bhyve exited with status 134 when GPU PCI passthrough
Message-ID:  <bug-250802-27103-JyaWwQzQ93@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-250802-27103@https.bugs.freebsd.org/bugzilla/>
References:  <bug-250802-27103@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D250802

--- Comment #46 from Konstantin Belousov <kib@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=20
   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 tha=
t.
Then it accesses (remaps in guest VA) something by that side-channel addres=
s.

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 ?

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-250802-27103-JyaWwQzQ93>