Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 08 Nov 2020 20:45:33 +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-1er9ovs7iX@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 #35 from Konstantin Belousov <kib@FreeBSD.org> ---
(In reply to mr.xanto from comment #34)
Ok, so D27138 cannot work because BARs are not mapped into userspace, and p=
atch
caused infinite recursion.  Not to mention Peter' objection.

Lets try to see why EPT violation was translated to instruction assist inst=
ead
of being handled by vm_fault().

First, you use stable/12 and you do not have debugging turned on.  Please
enable
at least INVARIANTS in your kernel.

Second, I do not see how to find the cause except by some debugging.  Apply
the following patch for start and report if the printf triggered

diff --git a/sys/amd64/vmm/vmm.c b/sys/amd64/vmm/vmm.c
index 3a1d0d54bca..1e715d458a9 100644
--- a/sys/amd64/vmm/vmm.c
+++ b/sys/amd64/vmm/vmm.c
@@ -650,6 +650,7 @@ vm_mem_allocated(struct vm *vm, int vcpuid, vm_paddr_t =
gpa)
                        return (true);          /* 'gpa' is sysmem or devme=
m */
        }

+if (gpa >=3D 0xd0000000 && gpa < 0xe0000000) printf("ppt_is_mmio %#lx %d\n=
",
gpa, ppt_is_mmio(vm, gpa));
        if (ppt_is_mmio(vm, gpa))
                return (true);                  /* 'gpa' is pci passthru mm=
io
*/

--=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-1er9ovs7iX>