From 81e2377c246cf5576f01d5f459f287c72d29e4b5 Mon Sep 17 00:00:00 2001 From: Justus Winter Date: Wed, 12 Oct 2016 10:10:19 +0200 Subject: Add interface for user-space drivers --- microkernel/mach/gnumach/projects/mach_5.mdwn | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'microkernel/mach/gnumach') 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. * * + +## 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 + +* -- cgit v1.2.3