Re: Userspace I/O driver core

From: Avi Kivity
Date: Thu Dec 14 2006 - 05:49:18 EST


[why trim the cc?]

Hans-Jürgen Koch wrote:
Am Donnerstag, 14. Dezember 2006 10:44 schrieb Avi Kivity:

I understand one still has to write a kernel driver to shut up the irq. How about writing a small bytecode interpreter to make event than unnecessary?

The userspace driver would register a couple of bytecode programs: is_interrupt_pending() and disable_interrupt(), which the uio framework would call when the interrupt fires.

The bytecode could reuse net/core/filter.c, with the packet replaced by the mmio or ioregion, or use something new.


I think this would be overkill. The kernel module you have to write
is _really_ very simple. And it has to be written only once, so even
a manufacturer who employs no experienced kernel developers can
easily outsource that task.


It has to be written once, but compiled for every kernel version and $arch out there (for out of tree drivers), or it has to wait for the next kernel release and distro sync (for in-tree drivers).

If we make userspace drivers possible, it makes sense that the entire driver be in userspace, not just 98.7% of it.



--
error compiling committee.c: too many arguments to function

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/