Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 11 Mar 2023 17:48:18 +0100
From:      Mario Marietto <marietto2008@gmail.com>
To:        Souji Thenria <mail@souji-thenria.net>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: quirks
Message-ID:  <CA%2B1FSiihtP_SKt%2BWNAWpuV1sZX1HET7Gb%2B=G5yMZFBNkc7mp5Q@mail.gmail.com>
In-Reply-To: <e58d2df6-d8b6-ff05-270e-1550cb7ee6ec@souji-thenria.net>
References:  <ZAyhmNN3WqXM22AF@int21h> <e58d2df6-d8b6-ff05-270e-1550cb7ee6ec@souji-thenria.net>

next in thread | previous in thread | raw e-mail | index | archive | help
--00000000000042faa705f6a2a7a2
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hello.

Exactly. This is valid even in the scenario that I'm going to explain.
I would like to allow the passthru of an nVidia gpu to a Windows VM
(virtualized with bhyve).
Infact after one month of research we (me,an humble bugs hunter,soft system
administrator and developers recruiter) in collaboration with Corvin
Kohne and some other developers we have found the technical reasons why a
modern nvidia gpu if passed through inside a windows 10 / 11 vm
produces the error 43 (actually the error 12 after having added some new
features). It happens because it misses "line interrupts support for
passed through devices" ; actually there is the need of a massive change
inside the bhyve source code. I'm collaborating with one hypervisor
developer and a qemu/kvm/haxm advanced developer to reach that goal. To
achieve the goal will be a very step forward for bhyve and for all the
BSD community. We have an external,affiliated github and all the changes
we made go inside it first of all and only later,maybe much later,some
of them will go inside the official bhyve source code. But we want to
have this experimental feature in a reasonable amount of time,not in
many many years.i There is a partial INTx support missing in bhyve and
it is an important feature already implemented in qemu a lot of time
ago. Bhyve can't miss it. Passing thru an AMD and an NVIDIA modern GPU
card inside a Windows VM will expand the number of tasks that can be
done in FreeBSD using Windows as an intermediate medium. I'm interested
in the development of bhyve. Not only to the passthru. I'm trying to
help to improve bhyve trying many combinations and looking for bugs.
I would really like it if one nvidia gpu can be passed to a windows 10 vm,
First of all because I like challenges. I like to break the limits that do
not allow users to freely use many functions connected to the purchased
item. And second,I like everything that sounds geek / geekish that I
can assemble and disassemble like legos,to understand how it works
"inside". Unfortunately I'm not a developer. But I've found some very
competent programmers who want to collaborate and I'm trying to find
others to start working on this project. On november 2021,with the
collaboration of Corvin Kohne and Peter Grehan,we have been able to
pass through
succesfully an nvidia graphic card inside a linux os,as u can see
below,may people demonstrate appreciation :


https://twitter.com/bhyve_dev/status/1459298927312662528



On Sat, Mar 11, 2023 at 5:46=E2=80=AFPM Souji Thenria <mail@souji-thenria.n=
et>
wrote:

> On 3/11/23 16:43, void wrote:
> > What are 'quirks', how are they applied, why, where can I read up about
> > them, are they documented?
>
> Hey tia,
>
> I have found this [http://www.root.org/~nate/freebsd/scsi/quirks.html]:
>
> FreeBSD drivers make every attempt possible to support the standards
> behind hardware. Where possible and not in conflict with the standard,
> they also attempt to work around hardware which doesn't strictly
> conform. However, some devices have flaws which can't be worked around
> while keeping the driver compatible with the standard. For these
> devices, we have created a quirks mechanism to indicate to the driver
> that it must avoid certain commands or use them differently with a
> specific model and/or version of hardware. This document focuses on
> identifying and committing quirks for storage hardware involving CAM and
> UMASS but is applicable to other areas.
>
> Based on that, quirks are just identifiers for the driver, to compensate
> for non-standard hardware implementations.
>
> --
> Souji Thenria
>
>
>

--=20
Mario.

--00000000000042faa705f6a2a7a2
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><pre id=3D"m_-4677313509447467791m_2777044499351843294gmai=
l-body"><font size=3D"6">Hello.<br><br>Exactly. This is valid even in the s=
cenario that I&#39;m going to explain.<br>I would like to allow the passthr=
u of an nVidia gpu to a Windows VM (virtualized with bhyve). <br>Infact aft=
er one month of research we (me,an humble bugs hunter,soft system=20
administrator and developers recruiter) in collaboration with Corvin=20
Kohne and some other developers we have found the technical reasons why a
modern nvidia gpu if passed through inside a windows 10 / 11 vm=20
produces the error 43 (actually the error 12 after having added some new
features). It happens because it misses &quot;line interrupts support for=
=20
passed through devices&quot; ; actually there is the need of a massive chan=
ge
inside the bhyve source code. I&#39;m collaborating with one hypervisor=20
developer and a qemu/kvm/haxm advanced developer to reach that goal. To=20
achieve the goal will be a very step forward for bhyve and for all the=20
BSD community. We have an external,affiliated github and all the changes
we made go inside it first of all and only later,maybe much later,some=20
of them will go inside the official bhyve source code. But we want to=20
have this experimental feature in a reasonable amount of time,not in=20
many many years.i There is a partial INTx support missing in bhyve and=20
it is an important feature already implemented in qemu a lot of time=20
ago. Bhyve can&#39;t miss it. Passing thru an AMD and an NVIDIA modern GPU=
=20
card inside a Windows VM will expand the number of tasks that can be=20
done in FreeBSD using Windows as an intermediate medium. I&#39;m interested=
=20
in the development of bhyve. Not only to the passthru. I&#39;m trying to=20
help to improve bhyve trying many combinations and looking for bugs. <br>I =
would really like it if one nvidia gpu can be passed to a windows 10 vm,<br=
>First of all because I like challenges. I like to break the limits that do=
=20
not allow users to freely use many functions connected to the purchased=20
item. And second,I like everything that sounds geek / geekish that I=20
can assemble and disassemble like legos,to understand how it works=20
&quot;inside&quot;. Unfortunately I&#39;m not a developer. But I&#39;ve fou=
nd some very=20
competent programmers who want to collaborate and I&#39;m trying to find=20
others to start working on this project. On november 2021,with the=20
collaboration of Corvin Kohne and Peter Grehan,we have been able to pass th=
rough=20
succesfully an nvidia graphic card inside a linux os,as u can see=20
below,may people demonstrate appreciation :

</font></pre><div><font size=3D"6"><a href=3D"https://twitter.com/bhyve_dev=
/status/1459298927312662528" target=3D"_blank">https://twitter.com/bhyve_de=
v/status/1459298927312662528</a></font></div><div><br><br></div></div><br><=
div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Sat, Mar=
 11, 2023 at 5:46=E2=80=AFPM Souji Thenria &lt;<a href=3D"mailto:mail@souji=
-thenria.net">mail@souji-thenria.net</a>&gt; wrote:<br></div><blockquote cl=
ass=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid=
 rgb(204,204,204);padding-left:1ex">On 3/11/23 16:43, void wrote:<br>
&gt; What are &#39;quirks&#39;, how are they applied, why, where can I read=
 up about <br>
&gt; them, are they documented?<br>
<br>
Hey tia,<br>
<br>
I have found this [<a href=3D"http://www.root.org/~nate/freebsd/scsi/quirks=
.html" rel=3D"noreferrer" target=3D"_blank">http://www.root.org/~nate/freeb=
sd/scsi/quirks.html</a>]:<br>
<br>
FreeBSD drivers make every attempt possible to support the standards <br>
behind hardware. Where possible and not in conflict with the standard, <br>
they also attempt to work around hardware which doesn&#39;t strictly <br>
conform. However, some devices have flaws which can&#39;t be worked around =
<br>
while keeping the driver compatible with the standard. For these <br>
devices, we have created a quirks mechanism to indicate to the driver <br>
that it must avoid certain commands or use them differently with a <br>
specific model and/or version of hardware. This document focuses on <br>
identifying and committing quirks for storage hardware involving CAM and <b=
r>
UMASS but is applicable to other areas.<br>
<br>
Based on that, quirks are just identifiers for the driver, to compensate <b=
r>
for non-standard hardware implementations.<br>
<br>
-- <br>
Souji Thenria<br>
<br>
<br>
</blockquote></div><br clear=3D"all"><br><span class=3D"gmail_signature_pre=
fix">-- </span><br><div dir=3D"ltr" class=3D"gmail_signature">Mario.<br></d=
iv>

--00000000000042faa705f6a2a7a2--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2B1FSiihtP_SKt%2BWNAWpuV1sZX1HET7Gb%2B=G5yMZFBNkc7mp5Q>