diff options
author | Thomas Schwinge <tschwinge@gnu.org> | 2009-07-07 15:51:01 +0200 |
---|---|---|
committer | Thomas Schwinge <tschwinge@gnu.org> | 2009-07-07 18:26:53 +0200 |
commit | c1a671852e57a3219ddb842f83e2ee4cf0915c32 (patch) | |
tree | 513b9e13914e62d841c67f3d686918996552a9d6 | |
parent | 95dca084dfffacc1715f9314ae413725b04af480 (diff) |
open_issues/user-space_device_drivers: Add a TOC, and sections about issues and a plan.
-rw-r--r-- | open_issues/user-space_device_drivers.mdwn | 55 |
1 files changed, 53 insertions, 2 deletions
diff --git a/open_issues/user-space_device_drivers.mdwn b/open_issues/user-space_device_drivers.mdwn index 154a525c..43795705 100644 --- a/open_issues/user-space_device_drivers.mdwn +++ b/open_issues/user-space_device_drivers.mdwn @@ -14,6 +14,57 @@ This is a collection of resources concerning *user-space device drivers*. Also see [[device drivers and IO systems]]. +[[!toc levels=2]] + + +# Issues + +## IRQs + + * Can be modeled using [[RPC]]s. + + * Security considerations: IRQ sharing. + + * *Omega0* paper defines an interface. + +## DMA + + * Security considerations. + + * I/O MMU. + +## I/O Ports + + * Security considerations. + +## PCI and other buses + + * Security considerations: sharing. + +## Latency of doing RPCs + + * [[GNU Mach|microkernel/mach/gnumach]] is said to have a high overhead when + doing RPC calls. + + +# Plan + + * Examine what other systems are doing. + + * L4 + + * Hurd on L4: deva, fabrica + + * Minix 3 + + * Start with a simple driver and implement the needed infrastructure (see + *Issues* above) as needed. + + * <http://savannah.nongnu.org/projects/user-drivers/> + + Some (unfinished?) code written by Robert Millan in 2003: PC keyboard + and parallel port drivers, using `libtrivfs`. + # Documentation @@ -92,8 +143,8 @@ Also see [[device drivers and IO systems]]. Ganapathy, Arini Balakrishnan, Michael M. Swift, Somesh Jha -# Projects +# External Projects * <http://ertos.nicta.com.au/research/drivers/uldd/> - * <http://savannah.nongnu.org/projects/user-drivers> + * <http://gelato.unsw.edu.au/IA64wiki/UserLevelDrivers> |