Not logged in
Log in now
Create an account
Subscribe to LWN
Deadline scheduling: coming soon?
LWN.net Weekly Edition for November 27, 2013
ACPI for ARM?
LWN.net Weekly Edition for November 21, 2013
GNU virtual private Ethernet
USb drivers can be written in userspace anyway, so that shouldn't be a problem.
GPL-only symbols and ndiswrapper
Posted Oct 26, 2006 17:38 UTC (Thu) by pizza (subscriber, #46)
What if you need other kernel services? What if you have tight timing requirements?
From what I can tell, the userspace usb stuff basically sets you up to
do URB tx/rx, but nothing more. It's useless if you need to hook into the rest of the kernel.
For many types of devices, userspace drivers make sense, but that should be a *technical* decision.
Posted Oct 28, 2006 0:26 UTC (Sat) by i3839 (guest, #31386)
Those drivers want to talk to their hardware, not to the rest of the kernel which they shouldn't know or care about.
Posted Oct 31, 2006 2:17 UTC (Tue) by proski (subscriber, #104)
I thought we were talking about binary only modules and ndiswrapper? In that light I don't see how that construction could be in anyway better than when pushed to userspace.
Currently closed source kernel modules from ATI and Nvidia should also be put into userspace with no more than a tiny kernel module handling the necessary, IMHO.
Posted Oct 31, 2006 13:38 UTC (Tue) by i3839 (guest, #31386)
> how are you going to emulate Linux API expected by those modules (provided you are talking about Linux modules)?
> Are you going to reimplement it in userspace?
Well, you'd hope they don't expect Linux specific API functions, or keeping them closed source makes it even more questionable than it already is. So I assume they only need general hardware interaction functions, like setting up interrupt handlers and things like that. In the case of graphic cards they have a way to send data and commands to the card, they might need a bit help with DMA and stuff from the kernel, but other than that not much more needs to be done by the kernel and the rest can be done by the userspace driver.
The userspace driver will not be easy to make and most likely be slightly slower, but even if that's 10% it's worth it to get the 4MB big unknown blob out of kernel space.
Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds