Re: Project Proposal: An Standard Driver Virtual Machine

From: Mario Marietto <marietto2008_at_gmail.com>
Date: Wed, 03 Jul 2024 20:09:20 UTC
---> it does allow to use loadable kernel drivers  between different
version of the FreeBSD kernel

Can someone elaborate more on this ? Because it happened yesterday that I
tried to load the vmm.ko module present in my FreeBSD 14.0-RELEASE system
to FreeBSD 14.1-RELEASE system but it hasn't been accepted. The same
happened with the ZFS module.

On Wed, Jul 3, 2024 at 10:01 PM Nimbly2329 <hjlftdygaqf@use.startmail.com>
wrote:

>
> Nimbly2329 <hjlftdygaqf@use.startmail.com> writes:> 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 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
>
> -- https://wiki.freebsd.org/DmitrySalychev
>
>
> I have reading some resources regarding FreeBSD drivers, looks like
> FreeBSD has a superior system to Linux's Dynamic Kernel Module System
> (dmks), for loading drivers, as by the architecture book (
> https://download.freebsd.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
> does allow to use loadable kernel drivers  between different version of 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 otherwise loadable kernel driver
> final binary?
>
> There is a way to implement an device detection from userspace?, so that
> device drivers can be loaded as needed.
>
>
> 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.
>
>
> Regards,
>
> Nimbly2329
>
>
> By the way where is the documentation of the FreeBSD's driver ABI?
>


-- 
Mario.