[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Drivers (was: dash, PATH)

From: olafBuddenhagen
Subject: Drivers (was: dash, PATH)
Date: Sat, 7 Nov 2009 17:11:11 +0100
User-agent: Mutt/1.5.19 (2009-01-05)


On Wed, Nov 04, 2009 at 06:42:13PM +0100, Jakub Daniel wrote:

> I know this is kind of in FAQ but it is quite unfortunate that hurd
> cannot deal with SATA disks. Now that I have learnt that hurd is quite
> usable for me I would love to run it on real machine, because qemu is
> limiting. I am not going to ask when the drivers will be available. I
> would like to know what part of hurd/mach is responsible for loading
> and handling these drivers. What should I pay attention to if I would
> like to learn more about writing/porting drivers for serial SCSI. I
> know I might not be able to write them, still it would help to know
> how this works (is supposed to work) with hurd. Where are the actual
> drivers supporting PATA drivers?

The drivers are in the "micro"kernel, i.e. in gnumach. They are ancient
Linux drivers (mostly from 2.0.x) fitted with some ugly glue code.

To support newer hardware, you would need to update the glue code, so it
can use current drivers. (Either from Linux or some BSD... The latter
are less complete, but the interfaces are more stable, and there is no
GPLv2 only limitation...) Once new glue code is in place, many things
(including SATA) should work right away. (Some things, like USB, would
need some additional infrastructure though.)

However, there are some alternatives to simply upgrading the glue code,
that are worth considering: for one, we could try to replace the custom
glue code with L4's ddekit (if that's even possible), so we don't have
to maintain the glue alone.

Also, ideally we would like to move the whole driver framework to user
space -- again, if possible.

Zheng Da started to look into both recently -- let's see how it works
out... Of course, any help would be appreciated :-)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]