Hi! I hope this is the right place to ask. (If not, please point me there ;-)) I have read on the Fiasco homepage that Fiasco is beeing/was ported to run as a user-level process under Unix. What is the state of this project? And what is the mentioned CVS branch? However, I am interested in this. A nice way to go would be to port Fiasco to a386 (http://a386.nocrew.org/), IMO. I don't know if I can be of any help, since I haven't (yet) done much kernel-level hacking... Regards, Andy -- Andreas Rottmann | Dru@ICQ | 118634484@ICQ | a.rottmann@gmx.at http://www.8ung.at/rotty | GnuPG Key: http://www.8ung.at/rotty/gpg.asc Fingerprint | DFB4 4EB4 78A4 5EEE 6219 F228 F92F CFC5 01FD 5B62
Andreas Rottmann <a.rottmann@gmx.at> writes:
I hope this is the right place to ask. (If not, please point me there ;-))
Yes, it is. (or <fiasco-core@os.inf.tu-dresden.de>, if you prefer a more private, nonpublic forum.)
I have read on the Fiasco homepage that Fiasco is beeing/was ported to run as a user-level process under Unix. What is the state of this project?
This project is well underway. User-mode Fiasco (Fiasco/UX) works on Linux, runs nearly unmodified versions of Sigma0 and Rmgr, and runs virtually unmodified simple L4 programs such as the ping-pong IPC benchmark. It still lacks a number of features that would make it really useful, such as some pseudo device drivers that would enable L4Linux to run on top of it. Fiasco/UX's main developer, Udo Steinberg, currently is on a vacation; he will be back in August. When he returns, he will write a term paper about it, explaining its architecture in detail.
And what is the mentioned CVS branch?
fiasco_ux
However, I am interested in this. A nice way to go would be to port Fiasco to a386 (http://a386.nocrew.org/), IMO. I don't know if I can be of any help, since I haven't (yet) done much kernel-level hacking...
Udo chose to use a different route, similar to the one used by User-mode Linux: Fiasco/UX uses ptrace(2) to control user binaries, allowing unmodified L4 binaries to run on top of it. Inside the ``kernel,'' Fiasco/UX emulates i386 instructions _after_ they occurred (that is, in a signal handler), not _before_ (i.e., at the API level, as with a386). This design allows us to debug even machine-specific low-level code under Unix. Michael -- hohmuth@sax.de, hohmuth@inf.tu-dresden.de http://www.sax.de/~hohmuth/
Michael Hohmuth <hohmuth@sax.de> writes:
Andreas Rottmann <a.rottmann@gmx.at> writes:
I have read on the Fiasco homepage that Fiasco is beeing/was ported to run as a user-level process under Unix. What is the state of this project?
This project is well underway. User-mode Fiasco (Fiasco/UX) works on Linux, runs nearly unmodified versions of Sigma0 and Rmgr, and runs virtually unmodified simple L4 programs such as the ping-pong IPC benchmark.
Cool!
It still lacks a number of features that would make it really useful, such as some pseudo device drivers that would enable L4Linux to run on top of it.
I plan to extend my programming knowledge/experience in the OS area. Thus I'm interested in helping in that area, altough I must admit that I have little experience with kernel/OS programming. I plan to walk through the relevant docs and finally join the people doing the Hurd/L4 port.
Fiasco/UX's main developer, Udo Steinberg, currently is on a vacation; he will be back in August. When he returns, he will write a term paper about it, explaining its architecture in detail.
I look forward to that. :-)
Udo chose to use a different route, similar to the one used by User-mode Linux: Fiasco/UX uses ptrace(2) to control user binaries, allowing unmodified L4 binaries to run on top of it. Inside the ``kernel,'' Fiasco/UX emulates i386 instructions _after_ they occurred (that is, in a signal handler), not _before_ (i.e., at the API level, as with a386). This design allows us to debug even machine-specific low-level code under Unix.
This, of course, can be quite valuable and quite worth the performance hit (which will be minor, I think), I guess. Regards, Andy -- Andreas Rottmann | Dru@ICQ | 118634484@ICQ | a.rottmann@gmx.at http://www.8ung.at/rotty | GnuPG Key: http://www.8ung.at/rotty/gpg.asc Fingerprint | DFB4 4EB4 78A4 5EEE 6219 F228 F92F CFC5 01FD 5B62
Michael Hohmuth <hohmuth@sax.de> writes:
Fiasco/UX's main developer, Udo Steinberg, currently is on a vacation; he will be back in August. When he returns, he will write a term paper about it, explaining its architecture in detail.
And what is the mentioned CVS branch?
fiasco_ux
Can you also tell me how to check it out? I tried in various ways: cvs co -r fiasco_ux l4 cvs co l4; cd l4; cvs update -r fiasco_ux' cvs co l4; cd l4/kernel/fiasco; cvs update -r fiasco_ux and none gives a sane version.... Regards & Thx, Andy -- Andreas Rottmann | Dru@ICQ | 118634484@ICQ | a.rottmann@gmx.at http://www.8ung.at/rotty | GnuPG Key: http://www.8ung.at/rotty/gpg.asc Fingerprint | DFB4 4EB4 78A4 5EEE 6219 F228 F92F CFC5 01FD 5B62
[ Re-sending with Cc to list ] Andreas Rottmann <a.rottmann@gmx.at> writes:
Can you also tell me how to check it out? I tried in various ways:
Yes, the sources are neither polished nor release-ready, and maybe it does not even compile except in Udo's home directory... Try: cvs co l4; cd l4/kernel/fiasco/src; cvs up -r fiasco_ux However, I believe that Udo has not yet checked in his modifications for Sigma0 and Rmgr. Cheers, Michael -- hohmuth@sax.de, hohmuth@inf.tu-dresden.de http://home.pages.de/~hohmuth/
Michael Hohmuth wrote:
Andreas Rottmann <a.rottmann@gmx.at> writes:
Can you also tell me how to check it out? I tried in various ways:
Yes, the sources are neither polished nor release-ready, and maybe it does not even compile except in Udo's home directory...
It compiles, but it is not ready for widespread use. Fiasco-UX is currently not available from Remote-CVS, but will be sometime around August. You'll have to wait until then. The comment on the website is a bit misleading.
However, I believe that Udo has not yet checked in his modifications for Sigma0 and Rmgr.
Correct. -Udo.
participants (3)
-
Andreas Rottmann -
Michael Hohmuth -
Udo A. Steinberg