From nobody Wed Jul 03 20:01:35 2024
X-Original-To: freebsd-drivers@mlmmj.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4WDrJd5Mpyz5Q8Dk
for ; Wed, 03 Jul 2024 20:01:37 +0000 (UTC)
(envelope-from hjlftdygaqf@use.startmail.com)
Received: from mx-out2.startmail.com (mx-out2.startmail.com [145.131.90.155])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
(Client did not present a certificate)
by mx1.freebsd.org (Postfix) with ESMTPS id 4WDrJd4dJgz4fQ4;
Wed, 3 Jul 2024 20:01:37 +0000 (UTC)
(envelope-from hjlftdygaqf@use.startmail.com)
Authentication-Results: mx1.freebsd.org;
none
Content-Type: multipart/alternative;
boundary="===============6775756364732441970=="
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=startmail.com;
s=2020-07; t=1720036895;
bh=lxUocWHNVoYdeXLvNdsRV6YSrKP+6KLBlsuztYF3YA0=;
h=Content-Type:Subject:Message-ID:Date:In-Reply-To:References:From:
To:Mime-Version:From:Subject:To:Date:Sender:Content-Type:
Content-Transfer-Encoding:Content-Disposition:Mime-Version:
Reply-To:In-Reply-To:References:Message-Id:Autocrypt;
b=OL32msDsfSj0WsOOLFRfImc303iCzmVDe6w+zdjgMeuEYo0oyN7XFRKQuDw93a2Yw
g78FkkmLSu6EBgiYNNptNy/aYgCtlRKqeTvv8haqI27WUJkIZrLPNK61APlowvi9FD
+0S041C3xgLc4DWBe5wmUVZdZ0bDvWfLYlKctga9OM3FbRkHwdTnjtnTNwMR/rq/bR
uT0AXA2YS/sOdSJTPCPl0JHigwZwnYOaBKlhaRk90vaew+qCx7qVK/JnTuMrzxtsaV
tzlPgv2RXw2PvCoXISRZZBaUpFaOzhfeTgSyUqY9pzHiOIKES8GzExbzf/7IaCQOls
o/9zOtZVHN9iA==
Subject: Re: Project Proposal: An Standard Driver Virtual Machine
Message-ID: <172003689512.28.10920198816573547978@startmail.com>
Date: Wed, 03 Jul 2024 20:01:35 -0000
In-Reply-To: <86ed8aalkh.fsf@peasant.bootbsd.com>
References: <171996207708.31.7910752540216367279@startmail.com>
<86ed8aalkh.fsf@peasant.bootbsd.com>
From: Nimbly2329
To: Dmitry Salychev
Cc: freebsd-drivers@freebsd.org
List-Id: Writing device drivers for FreeBSD
List-Archive: https://lists.freebsd.org/archives/freebsd-drivers
List-Help:
List-Post:
List-Subscribe:
List-Unsubscribe:
Sender: owner-freebsd-drivers@FreeBSD.org
Mime-Version: 1.0
X-Spamd-Bar: ----
X-Rspamd-Pre-Result: action=no action;
module=replies;
Message is reply to one we originated
X-Spamd-Result: default: False [-4.00 / 15.00];
REPLY(-4.00)[];
ASN(0.00)[asn:28685, ipnet:145.131.64.0/18, country:NL]
X-Rspamd-Queue-Id: 4WDrJd4dJgz4fQ4
--===============6775756364732441970==
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
=20
>
> Nimbly2329 writes:
> =20
> > Motivation:
> >
> > In is not a obscure fact that driver development is the hardest=
part
> in both maintaining and creating an operating system, and
> > that FreeBSD struggles to keep the pace with Linux and Windows.=
And is
> the the number one cause that there is no way of
> > developing novel and viable operating systems.
> >
> > Plan:
> >
> > (1) We and maybe with the cooperation of another public source
> kernel/OS projects develop a Standard Driver Virtual
> > Machine, (2) and then we manage to get it implemented in at lea=
st
> Linux, so that Linus et al. promote that all new drivers
> > shall be written against the Standard Driver Virtual Machine. (=
3)
> Finally profit in little to no effort in porting drivers from Linux.
> =20
> I wish we had more Spare Time Investment proposals instead of pro=
ject
> ones :)
> =20
> Regards,
> Dmitry
> =20
> --
> https://wiki.freebsd.org/DmitrySalychev
> =20
> =20
> =20
> >
I have reading some resources regarding FreeBSD drivers, looks like Fre=
eBSD
has a superior system to Linux's Dynamic Kernel Module System (dmks), f=
or
loading drivers, as by the architecture book
(, or in other of the sources at freebsd.org I don't rem=
ember
exactly) it does allow to use loadable kernel drivers between different
version of the FreeBSD kernel, giving both backwards and forward compat=
ibility
by design, through an stable Binary Application Interface. =20
=20
Therefore if where for only being able to write a loadable kernel drive=
rs,
that would be enough, but it also has to work with static linked driver=
s. =20
=20
Does is possible to statically link an otherwise loadable kernel driver=
final
binary? =20
There is a way to implement an device detection from userspace?, so that
device drivers can be loaded as needed. =20
=20
If boat of those are possible, then there is an even simpler plan, and =
that is
to make Linux implement the FreeBSD's Driver ABI, and my proposal also =
is
simpler. =20
=20
Regards, =20
Nimbly2329 =20
=20
By the way where is the documentation of the FreeBSD's driver ABI? =20
--===============6775756364732441970==
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
=
Nimbly2329 <hjlftdygaqf@use.startmail.com> writes:
> Motivat=
ion:
>
> In is n=
ot a obscure fact that driver development is the hardest part in both m=
aintaining and creating an <=
/span>=
span>operating system, and
> that FreeBSD struggles to keep the pace with Linux and Windows. An=
d is the the number one cause that there is no way of
> developing novel and viable operating systems.
>
> Plan:
>
> (1) We and maybe with the cooperation of another public source ker=
nel/OS projects develop a Standard Driver Virtual
> Machine, (2) and then we manage to get it implemented in at least =
Linux, so that Linus et al. promote that all new drivers
> shall be written against the Standard Driver Virtual Machine. (3) =
Finally profit in little to no effort in porting drivers from Linux.
I wish we had more Spare Time Investment proposals instead of project
ones :)
Regards,
Dmitry
--=20
https://wiki.freebsd.org/DmitrySalychev
I
have reading some resources regarding FreeBSD drivers, looks like=20
FreeBSD has a superior system to Linux's Dynamic Kernel Module System=20
(dmks), for loading drivers, as by the architecture book (https://download.fre=
ebsd.org/doc/en/books/arch-handbook/arch-handbook_en.pdf,
or in other of the sources at freebsd.org I don't remember exactly) it=
=20
does allow to use loadable kernel drivers=C2=A0 between different versi=
on of=20
the FreeBSD kernel, giving both backwards and forward compatibility by =
design, through an stable Binary Application Interface.
Therefore
if where for only being able to write a loadable kernel drivers, that =
would be enough, but it also has to work with static linked drivers.
Does is possible to statically link an otherwis=
e loadable kernel driver final binary?
There is a way to implement an device detection from us=
erspace?, so that device drivers can be loaded as needed.
If
boat of those are possible, then there is an even simpler plan, and=20
that is to make Linux implement the FreeBSD's Driver ABI, and my=20
proposal also is simpler.
Regards,
<=
p xmlns=3D"http://www.w3.org/1999/xhtml" style=3D"word-wrap: break-word=
;overflow-wrap: break-word;margin: 0;color: rgb(59, 67, 92);font-family=
: arial, helvetica;font-size: medium">Nimbly2329
By the way where is the documentation of the FreeBSD's driver ABI?<=
br />
--===============6775756364732441970==--