summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Schwinge <tschwinge@gnu.org>2009-07-07 15:51:01 +0200
committerThomas Schwinge <tschwinge@gnu.org>2009-07-07 18:26:53 +0200
commitc1a671852e57a3219ddb842f83e2ee4cf0915c32 (patch)
tree513b9e13914e62d841c67f3d686918996552a9d6
parent95dca084dfffacc1715f9314ae413725b04af480 (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.mdwn55
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>