Re: Project Proposal: An Standard Driver Virtual Machine

From: Mario Marietto <marietto2008_at_gmail.com>
Date: Fri, 05 Jul 2024 17:05:52 UTC
Hello.

@Nimbly2329 <hjlftdygaqf@use.startmail.com> : it's not possible to use
loadable kernel drivers between different versions of the FreeBSD kernels.
Check the image below :

[image: kldload-vmm.ko.png]

On Wed, Jul 3, 2024 at 10:09 PM Mario Marietto <marietto2008@gmail.com>
wrote:

> ---> 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.
>


-- 
Mario.