All,
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?
Thanks!
-Julian
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.
Adam
Hi,
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 solution.
Ciao
I'm just interested in the possibility right now for long term design issues. Sounds like it is doable and I may try it get it working down the road. Help much appreciated.
Thanks!
-Julian
On 7/12/05, Christian Helmuth ch12@os.inf.tu-dresden.de wrote:
Hi,
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 solution.
Ciao
Christian Helmuth
TU Dresden, Dept. of CS Operating Systems Group http://os.inf.tu-dresden.de/~ch12
l4-hackers mailing list l4-hackers@os.inf.tu-dresden.de http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
l4-hackers@os.inf.tu-dresden.de