From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: To: 9fans@cse.psu.edu Subject: Re: [9fans] porting from vs. porting to Plan 9 From: Charles Forsyth In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Date: Sat, 18 Oct 2003 09:27:35 +0100 Topicbox-Message-UUID: 721918c8-eacc-11e9-9e20-41e7f4b1d025 >>It might be possible to construct a cage such that Linux drivers could >>be compiled and run in Plan 9 kernels without causing too much damage >>to the running system. i'd have thought it would be harder to encapsulate the drivers than user-level code, but since no one has tried, we don't really know. one result of attempting it would be a possibly useful comparison between Linux and Plan 9 kernel internals and interfaces. (currently, my favourite examples are drivers for non-x86 platforms that must produce x86-defined values for higher levels.) the Linux driver interfaces are supposed to have changed significantly in 2.6 according to the Linux glossy magazine i bought recently. i haven't yet looked at the code. the catch in using 2.6 as a basis is that i suspect many drivers haven't been converted. either that, or there's nothing to convert because it hasn't really changed. for useful drivers, is xBSD really well behind Linux? i'd have thought encapsulating a BSD one would be easier, if it's possible at all, if only because BSD started with a Unix model so the pitfalls are fairly obvious to start with. perhaps more to the point, which missing drivers in particular have provoked the crisis? has it just built up? Linux itself is having trouble with hot plugging things, if my recent experience with Redhat is any guide. actually, it was cold plugging things: i had to take one card out because it couldn't drive it at all and put in a card that i thought it could drive (sound familiar?). admittedly i got it to work in the end but only because i kept thumping it and correcting it each time it went wrong. (``which ethernet was that again?'' i don't know: you've got the PCI vendor/device ID database! look it up!) it was worse than Windows. Windows seems to specialises in drivers that must (or must not) be installed before (or after) installing the device. read the bits of paper carefully! don't panic! don't hit the computer! ``i've already given you the bloody driver disk! THERE IS THE DRIVER!'' (my 2000 hasn't really recovered from the Bluetooth experience. i myself have barely recovered.) i can only assume there are nasty things to sort out that are hard to get right that we've avoided only because we haven't done this sort of thing. either that or there are surprisingly many twits writing code.