summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--microkernel/mach/gnumach/projects/mach_5.mdwn26
1 files changed, 26 insertions, 0 deletions
diff --git a/microkernel/mach/gnumach/projects/mach_5.mdwn b/microkernel/mach/gnumach/projects/mach_5.mdwn
index b90f04d..7b59170 100644
--- a/microkernel/mach/gnumach/projects/mach_5.mdwn
+++ b/microkernel/mach/gnumach/projects/mach_5.mdwn
@@ -19,6 +19,8 @@ it, we could straighten out some of these problems.
This page is a place to keep track of such changes.
+[[!toc startlevel=2 levels=1]]
+
## Protected payloads
Protected payloads are a way of optimizing the receiver object lookup
@@ -135,3 +137,27 @@ A prototype exists.
* <https://lists.gnu.org/archive/html/bug-hurd/2015-05/msg00000.html>
* <https://lists.gnu.org/archive/html/bug-hurd/2016-09/msg00056.html>
+
+## Interface for userspace drivers
+
+We need to provide an interface suitable for implementing drivers in
+userspace:
+
+* A way to handle interrupts
+* and a way to allocate memory suitable for DMA buffers
+
+### Required ABI changes
+
+None. This is a new interface. Debian/Hurd uses a non-standard rpc
+id, so we do not change an existing procedure there.
+
+### Status
+
+A DDE-based solution is used in Debian/Hurd to provide network
+drivers. A rump kernel prototype is implemented. These use a kernel
+interface written by Zheng Da available in the
+"master-user_level_drivers" branch in the GNU Mach repository.
+
+### Discussions
+
+* <https://lists.gnu.org/archive/html/bug-hurd/2016-02/msg00126.html>