Generic Kernel API

Julian Elischer julian at elischer.org
Wed Nov 9 10:58:15 PST 2005


Marcin Jessa wrote:

>On Tue, 08 Nov 2005 17:42:07 -0700
>Scott Long <scottl at samsco.org> wrote:
>
>  
>
>>Marcin Jessa wrote:
>>    
>>
>>>Hi guys.
>>>
>>>I just came across an article of Mr. Greg Kroah-Hartman in his blog
>>>http://www.kroah.com/log/2005/11/03/ 
>>>about generic kernel API which could make it possible for hardware
>>>vendors to supply us with their own drivers.
>>>To be honest I disagree with Greg and consider this a good idea.
>>>Especially if we had a system which could isolate each device driver
>>>running as a separate user-mode process so it would not bring down
>>>the entire OS in case the driver was buggy. 
>>>An API like that would both boost up FreeBSD's popularity and make
>>>it possible to use a way larger variety of hardware. 
>>>I mean, lets not fool ourselves, the majority of hardware vendors is
>>>not interested in revealing of their secrets publishing freely
>>>avaliable documentation of their products. 
>>>We could have a new choice to use (or not) binary drivers the 
>>>same way the popular commercial O.Ss do. 
>>>What do you guys think? What is the view of the
>>>FreeBSD community on this metter? 
>>>Could this be concerned as a good idea ?
>>>
>>>
>>>Cheers,
>>>Marcin Jessa.
>>>      
>>>
>>Please don't take this the wrong way, but google for 'Universal Driver
>>Interface'.  Yes, this topic comes up every few years.  It sounds
>>like a good idea, but every OS has unique and incompatible ways of
>>doing things.  
>>    
>>
>
>You've misunderstood me Scott. 
>I never meant it to be an universal API but a FreeBSD one only. 
>I understand an universal closs-platform driver API would me a nearly
>impossible project.
>My idea is to create an API for binary vendor drivers to make it
>easier for hardware vendors to create FreeBSD drivers the same way
>they can do for Windows or Mac OS X.
>
>  
>

well, you could port the Darwin driver interface in the form of a shim, or
extend "project evil" to cover more kinds of drivers..

>  
>
>>Sure, it's easy to map malloc in FreeBSD to kmalloc in
>>Linux, but how do you map ithreads in FreeBSD and Solaris to Linux?
>>How do you map busdma in FreeBSD to busdma in NetBSD, let alone Linux
>>where there is little concept of a DMA abstraction?  How do you map
>>newbus in FreeBSD to, um, nothing in Linux?  How do you map VFS on
>>FreeBSD to VFS on Linux or Solaris?  All of these things make such a
>>unification effort impossible to do without watering it down to where
>>it is either functionally useless or too slow and abstract to
>>matter.  Ironically, Project Evil has bridged the gap the best, but
>>it limits its scope to the Windows NDIS API.  It might be possible to
>>expand it to cover StorPort also, but forget about much more than
>>that.
>>    
>>
>_______________________________________________
>freebsd-current at freebsd.org mailing list
>http://lists.freebsd.org/mailman/listinfo/freebsd-current
>To unsubscribe, send any mail to "freebsd-current-unsubscribe at freebsd.org"
>  
>


More information about the freebsd-current mailing list