On Mon May 16, 2005 at 11:56:45 +0100, Tiago Jorge wrote:
You can use bmodfs. That's a file provider that only uses memory (l4/pkg/generic_fprov/examles/bmodfs). An usage example is on the webpage (http://os.inf.tu-dresden.de/L4/LinuxOnL4/use-2.6.shtml).
thanks for the example. but maybe because it's monday morning ;) i didn't understand well the way to use the bmodfs server. i've been able to boot with tftp but where i'm going to place this in use i don't have tftp availability. i've done the following menu.lst entry
title Fiasco Linux L4Env root (hd0,0) kernel /home/tiago/fiasco_builddir/rmgr -sigma0 task modname "bmodfs"
module module module
modaddr 0x02000000 module /home/tiago/fiasco_builddir/main -nokdb -nowait -serial_esc -comspeed 115200 -comport 1 module /home/tiago/fiasco_builddir/sigma0 module /home/tiago/fiasco_builddir/names module /home/tiago/fiasco_builddir/log module /home/tiago/fiasco_builddir/dm_phys module /home/tiago/fiasco_builddir/simple_ts -t 300 module /home/tiago/fiasco_builddir/rtc module /home/tiago/fiasco_builddir/l4io --noirq module /home/tiago/fiasco_builddir/bmodfs module /home/tiago/fiasco_builddir/libloader.s.so module /home/tiago/fiasco_builddir/loadercfg module /home/tiago/fiasco_builddir/vmlinuz.l4env module /home/tiago/fiasco_builddir/l4exec module /home/tiago/fiasco_builddir/loader --fprov=BMODFS /home/tiago/fiasco_builddir/loadercfg
what am i doing wrong? btw, the libloader.s.so it's giving the error that it's accessing the position 0x0000000 of memory. am i loading it correctly?
Rmgr is trying to start a shared lib which isn't supposed to work, so this is ok.
You need to add as many module statements to the rmgr command line as modules you are adding to bmodfs, so 3 for the above case. This way the following 3 modules are added as modules to bmodfs and are not started by rmgr.
tftp will only interfere with the network card, so if you do not use tftp, this will go away, yes. Note, start l4io with --noirq so that l4io doesn't take the irqs.
now it's more a technical question. if i use l4io with that option, who will manage the irqs? will it be l4linux with l4irqack=linux option on? how the information will reach the l4io server so it can go into other server that use l4io?
l4io --noirq makes l4io not touch the IRQs so that they are still kept by RMGR. An application can then do rmgr_get_irq to get a specific IRQ and then use the normal l4_ipc calls for interrupts. Withtout the --noirq option, l4io gets all the interrupts and offers them to clients via the omega0 interface. All applications now need to use the omega0 interface. L4Linux can use both interfaces and I guess they even both work right now. BTW, the l4irqack=linux option has no affect for 2.6.
Adam