L4Env Isolating Hard Drives

Christian Helmuth ch12 at os.inf.tu-dresden.de
Tue Jul 12 09:33:48 CEST 2005


On Mon, Jul 11, 2005 at 10:11:26PM +0200, Adam Lackorzynski wrote:
> On Mon Jul 11, 2005 at 12:38:20 -0400, Julian Grizzard wrote:
> > Consider a x86 computer that has two physical IDE hard drives.  Is it
> > possible for an L4Env I/O manager to allocate exactly one hard drive
> > to an L4Linux2.6 server and allocate the second hard drive to another
> > L4 task in a way that the L4Linux2.6 server has no way of knowing that
> > the second hard drive exists?
> Depends how the drives are connected. If the drives are connected to
> two different controllers this can be well done, e.g. by not mapping
> mmio areas or not handing out IRQs.
> If the drives are connected to the same controller things get more
> complicated. One needs an IDE controller driver/server that separates
> the drives for different tasks. In L4Linux one now needs a controller
> stub driver that talks to the server.

In addition to Adam's abstract information about feasibility of your idea,
L4IO currently has no facility to distinguish between several clients on
any basis (e.g., task numbers). You had to add this feature to almost
every module of L4IO (e.g., pci.c and res.c).  Currently, L4IO includes
two command line switches for handling of devices -- "--exclude" and
"--include" (see l4io/doc/refman.dox). Maybe this helps as short-term

Christian Helmuth

TU Dresden, Dept. of CS
Operating Systems Group

More information about the l4-hackers mailing list