Hi, On Wed, Oct 29, 2008 at 07:15:46PM +1100, Russell Shaw wrote:
> I've been reading about GNU/Hurd. In linux, a driver for a graphics > card done in the kernel needs to be tediously debugged using printk() > and related because it's not running in user context. > > Would a graphics driver (that needs access to system IO) in Hurd be > running in a user context where i can use gdb on it? It is a bit of a yes-and-no unfortunately... So far we do not have any DRM (or other kernel support for graphics HW) at all; not even GART in fact. Of course we will want all that at some point, and I intend to try running DRM in a user space server process. However, it's not clear yet whether it will work out. Presently I'm porting parts of the KGI framework as a proof of concept, and I mean to get at DRM later. Doing the basic stuff in a user space server is obviously possible -- that's what Xorg has been doing for ages. The interesting question is whether it will still work when introducing more tricky stuff, like IRQ handling, translation tables and/or DMA. The question is whether it will be possible to do these things in user space on top of Mach. (Mach is the microkernel the Hurd is based on.) This is something we yet need to find out -- so far, most hardware drivers run inside the "micro"kernel... (Other microkernel systems do run all hardware drivers in user space, so it's definitely possible in principle -- the question is "only" whether Mach imposes any specific difficulties here.) -antrik-