L4-based microkernel on Intel SCC
mpartheym at os.inf.tu-dresden.de
Thu Jun 5 14:29:02 CEST 2014
-----BEGIN PGP SIGNED MESSAGE-----
>> The only major problem is booting Fiasco on the SCC. You will
>> have to write a simple boot loader that uses the SCC's tools to
>> write all the boot modules into the SCC's memory. After that it
>> is rather straight-forward, except for the special page
>> attributes the SCC supports, if you want to do message passing.
>> Regarding the code, maybe Markus (CCed) knows more.
> Great! I hope to hear more from Markus.
Indeed, one major step was to load the respective data onto the SCC
and start it. The rest was to accommodate for the various
particularities (no VGA, no input devices, no fixed frequency timer
device, the special message passing buffer type, etc.)
The changes to the kernel have not been merged into upstream because
they were very specific to the SCC and of little more generic use. But
I can send you the patch if you want.
>> You don't need a special compiler for the SCC. Any version of gcc
>> or clang will work if you set the compilation target to Pentium.
>>> c. Finally, has anyone run L4Linux on top of the SCC?
>> Yes, I believe we did. Markus?
> In this case, it would be great to simply replicate your setup!
Yes, you should be able to run almost every ELF binary (conditions may
apply...) produced by the L4Re build system (make elfimage
E=yourmoduleentry), including L4Linux. But I have to say that we did
not have the time for looking into larger deployments at the time. In
order to load and start ELF binaries on the SCC, I wrote an extension
to the sccKit that was available then. The way it worked was like this:
1) Extract ELF according to the ELF headers and copy it to the SCC's
2) Place protected mode boot code and the reset vector in memory
3) Set up multiboot information structure (for memory maps)
4) Set up an I/O connection for providing serial connection with the core
Now, if I remember correctly, a lot of improvement has been made to
the sccKit and the whole interaction with the chip after I finished
this project (virtual framebuffers, serial output, etc.). So I tend to
doubt that this part of my (fairly outdated) work will be of any
practical use to you. But you could of course have a look at it.
So let me know if I should send you some examples, but keep in mind
that it is all horribly outdated.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
-----END PGP SIGNATURE-----
More information about the l4-hackers