Is this list still active? Are there other L4 lists that I should be on
as well?
-- Ian
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ian Duggan ian(a)ianduggan.net
http://www.ianduggan.net
Farid Hajji <farid.hajji(a)ob.kamp.net> writes:
> > Currently, some of my colleagues are working on a framework that
> > allows you to (more or less) drop a Linux driver in a preconfigured
> > source tree and get a working driver that runs on the x86 L4 kernels
> > (L4/x86, Fiasco, L4KA). This framework, which will work with the
> > L4Env environment we're developing, is not quite ready yet, but it
> > might be worth the wait.
>
> Will the drivers run in userland on top of a vanilla L4 kernel?
Yes, they will.
> I'm wondering wether it would be possible to use (RPC?) the driver
> tasks directly from OS personalities like L4Linux, (L4BSD if someone
> wants to repeat the Lites experience on L4 ;-)) or the Hurd, possibly
> even simultaneously?
Yes. We have been working on stub drivers for L4Linux that use
external user-level drivers concurrently with (non-Linux) tasks. I'm
not sure right now which stub drivers we currently provide, but I
believe we already support console drivers and block-device drivers.
> > As an alternative, consider using the OSKit. We have developed a
> > compatibility library that allows you to run applications using the
> > OSKit (including the OSKit's device drivers) on top of L4. This work
> > is a bit unpolished and the drivers are slow, but it's quite easy to
>
> Good point. However, wouldn't it be necessary to link the driver
> libs to the Kernel? This is exactly what we want to avoid in the
> OSKit-Mach case sometime in the future (*Sigh*).
No, the drivers run completely on user level.
The OSKit has well-defined interfaces for low-level OS services such
as IRQ allocation and delivery. Reimplementing these interfaces for a
target system such as L4 (in particular parts of liboskit_dev and
liboskit_kern) makes it possible to port OSKit drivers to the target
system. OSKit drivers do not care whether they run on user level or
in kernel mode if all services they expect from liboskit_dev and
liboskit_kern are available.
Michael
--
hohmuth(a)innocent.com, hohmuth(a)inf.tu-dresden.de
http://home.pages.de/~hohmuth/
Farid Hajji <farid.hajji(a)ob.kamp.net> writes in l4-hurd:
[...]
> The second pressing point is to write/port a very small subset of device
> drivers to L4. We need a native L4 driver for ATAPI (or SCSI?) disks,
> so that the pager can use a real disk as backing store, and so that
> we can port a filesystem as well ;). Here too, no-one volunteered yet.
We in Dresden have extensive experience in porting Linux device
drivers to run directly on top of L4, so if you guys have questions,
don't hesitate to ask on the L4-hackers mailing list
<l4-hackers(a)os.inf.tu-dresden.de>.
Currently, some of my colleagues are working on a framework that
allows you to (more or less) drop a Linux driver in a preconfigured
source tree and get a working driver that runs on the x86 L4 kernels
(L4/x86, Fiasco, L4KA). This framework, which will work with the
L4Env environment we're developing, is not quite ready yet, but it
might be worth the wait.
As an alternative, consider using the OSKit. We have developed a
compatibility library that allows you to run applications using the
OSKit (including the OSKit's device drivers) on top of L4. This work
is a bit unpolished and the drivers are slow, but it's quite easy to
use. I even wrote a technical report on it:
<URL:http://os.inf.tu-dresden.de/~hohmuth/prj/oskit-l4.ps.gz>.
(You can find this and other reports in the L4 Developer's
bibliography at <URL:http://os.inf.tu-dresden.de/L4/bib.html>.)
Michael
--
hohmuth(a)innocent.com, hohmuth(a)sax.de
http://www.sax.de/~hohmuth/
Ian Duggan <ian(a)ianduggan.net> writes:
> I'm working to try to build the fiasco kernel for a pentium machine that
> I have. I'm working from a Debian PIII. Will I need to build a
> cross-compiler to produce code for the pentium machine?
No, you can use your Linux installation's native compiler.
> Working from the fiasco CVS, I can see how to invoke the --host options
> for "configure" of oskit and oskit10. Is there anything similar for
> doing this with the L4 module?
No, the compiler L4 uses is configured in l4/Makeconf. On Linux/x86
systems, it's just `gcc', on other systems its usually `i386-linux-gcc'.
Michael
--
hohmuth(a)innocent.com, hohmuth(a)sax.de
http://www.sax.de/~hohmuth/
Ian Duggan <ian(a)ianduggan.net> writes:
> Who is the maintainer for the current L4/Fiasco CVS? If I have patches
> to add to L4/Fiasco, to whom do I send them?
The best place to send them to is the Dresden's bug-tracking system at
<fiasco-bugs(a)os.inf.tu-dresden.de> (don't be fooled by the name --
use this address for L4- and Fiasco-specific changes alike).
If your patches are Fiasco-specific, you can also send them for review
directly to <fiasco-core(a)os.inf.tu-dresden.de>.
Regards,
Michael
--
hohmuth(a)innocent.com, hohmuth(a)sax.de
http://www.sax.de/~hohmuth/
Who is the maintainer for the current L4/Fiasco CVS? If I have patches
to add to L4/Fiasco, to whom do I send them?
-- Ian
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ian Duggan ian(a)ianduggan.net
http://www.ianduggan.net
Hi,
I'm working to try to build the fiasco kernel for a pentium machine that
I have. I'm working from a Debian PIII. Will I need to build a
cross-compiler to produce code for the pentium machine?
Working from the fiasco CVS, I can see how to invoke the --host options
for "configure" of oskit and oskit10. Is there anything similar for
doing this with the L4 module?
-- Ian
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ian Duggan ian(a)ianduggan.net
http://www.ianduggan.net
Hello,
I think that the best way to "port" GNAT on top of L4 is to port GNARL and rewrite GNULL lib.
GNAT is the run time library but is almost portable. Modification in this package will be minor
(Exception, interuption, etc).
GNULL (Low Level lib) have to be rewritten entierly. Actually GNULL is port on Pthead lib & win
thread. There are minor port to jtk (an other implementation of thread on linux computer .. it's a
native one) or FSU. There are also port on micro kernel as Ravenskar or Mach (See MarteOS
project).
Maybe it could be cool to implements the GNULLI on top of L4, by define an interface beetween L4 &
GNULLI to make it portable beetween implementation.
After we could write some servers to implements the entire GNAT lib and Posix 1003.5 binding. But
it's another story. Some specialized annexes could be implemented too (Real time, Distributed sys,
etc.)
best regards ..
Frederic.
___________________________________________________________
Do You Yahoo!? -- Un e-mail gratuit @yahoo.fr !
Yahoo! Courrier : http://fr.mail.yahoo.com
Hello,
Just a little word about GNAT library design.
GNAT lib is design over 3 layers.
1/ Applications
2/ The second layer (GNARL) is a threads independant manipulation lib. This lib is needed by the
compiler and is the Run Time Lib of GNAT.
3/ the GNULL (Low level) is the OS/Hardware dépendant lib to implements Thread system. The lib is
often build on Posix Thread. On W2000, this lib is implemented on top of win32 lib.
Interface beetween Application & GNARL is called GNARLI, interface beetween GNARL & GNULL is
called GNULLI.
If you want to write servers in Ada with GNAT on top of L4, you can do it in several ways :
1/ Use pragma No_Run_Time. In this case, GNAT never use is lib. You can no more use task, hight
level array fonctionnalities, .. see GNORT (no_run_time) documentation on adacore web site
2/ Implement the GNULLI interface. Ravenskar ORK use this way to port GNAT on their micro kernel.
3/ Implement the GNARL ..
I gonna to choose the second way. Maybe we could defined a interface beetween GNULL & L4 to be
hardware/kernel independ, to make our version of GNULL portable beetween L4 implementation.
best regards ..
Frederic.
___________________________________________________________
Do You Yahoo!? -- Un e-mail gratuit @yahoo.fr !
Yahoo! Courrier : http://fr.mail.yahoo.com
Hello,
My project is not a real project in sens that it's
only for fun.
My main goal is to provide a little (R.T. if possible)
Unix like O.S. as QNX or Plan9 on top of L4. I start
on top of a micro kernel write in C, but if an Ada
implementation exists (and works ;)), I will choose it
will be choosen in priority.
For now a study design concept of the O.S. By now, I
follow exactly the User Guide Manual, with the typical
OS example.
I've created a sourceforge site & M.Ls. (search ADX).
There is no traffic actually.
Best regards ..
Frédéric.
___________________________________________________________
Do You Yahoo!? -- Un e-mail gratuit @yahoo.fr !
Yahoo! Courrier : http://fr.mail.yahoo.com