summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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>