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
l4-hackers@os.inf.tu-dresden.de