Hi, I search a CPP u-kernel, fiasco seems the best way but i see L4 not writting in CPP... dude, and the first code i was read isn't commented (kernel_console.cpp)
may be i thinks my first stuff is comment fiasco... about kernel_console, why kconsole ? not native console writing ? may be i try to write on... i follow learn C++ programming by delanoy in french, may be take some time but kconsole seems thinks me to kde console, may be i missing.
take care and best regard, heitai.
On Sunday, 21 March 2021 18:36:11 CET heitai wrote:
Hi, I search a CPP u-kernel, fiasco seems the best way but i see L4 not writting in CPP... dude, and the first code i was read isn't commented (kernel_console.cpp)
The README.style file in the src directory provides some information about the form of the source code:
"Fiasco has been written in C++. However, it uses C++ in a special dialect supported by the Preprocess tool [Hohmuth: Preprocess]. In effect, programmers do not need to write C++ header files, and do not need to declare (member) functions -- Preprocess automates these tasks."
https://github.com/kernkonzept/fiasco/blob/master/src/README.style
Apart from learning Pascal in the first year of my computer science degree, I never progressed along the path of the Wirth-influenced family of languages, but I did once have to write a summary of the Ada language, and the dialect used here did cause me to think of that. But I think that I may actually be remembering some other language.
Anyway, here's the Preprocess Web page:
http://os.inf.tu-dresden.de/~hohmuth/prj/preprocess/
may be i thinks my first stuff is comment fiasco... about kernel_console, why kconsole ? not native console writing ? may be i try to write on... i follow learn C++ programming by delanoy in french, may be take some time but kconsole seems thinks me to kde console, may be i missing.
I'm not sure I follow your questions here. As someone who is not a developer of Fiasco and not particularly familiar with its implementation details, yet who has needed to change certain parts of it, trace the execution, and who has even tried to port the "user mode" implementation to another architecture, I might suggest focusing on something you know quite well already and using that as a way in to the code.
For me, this has generally meant focusing on the MIPS architecture functionality in src/kern/mips. I had to review board-specific functionality in the bsp subdirectory, see how things were done for other boards, and then deduce what I needed to define for the hardware of interest to me. Occasionally, this meant looking at more general MIPS-related functionality, and from there looking at the common kernel functionality. Doing so provided some insight into the mechanisms involved.
I would be interested to know if there are some approachable architectural documents available for Fiasco that I have so far overlooked, though.
Paul
l4-hackers@os.inf.tu-dresden.de