summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustus Winter <justus@gnupg.org>2016-10-12 10:10:19 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2016-11-12 00:59:25 +0100
commit81e2377c246cf5576f01d5f459f287c72d29e4b5 (patch)
treef98480071995851e7aa8a0f8446410d49ae4bdc2
parent3f167deae4d61403c7921f8614273e042e929279 (diff)
Add interface for user-space drivers
-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 b90f04d5..7b59170b 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>