From: Manuel H. <mho...@ph...> - 2004-12-26 15:23:49
|
I have written a simple boot linker at uploaded it to cvs. It simply walks through the module list passed by grub, searches for relocation sections and looks up each associated symbol. Finally it searches for the kernel entry point (which I called KernelEntry) and jumps into it. The kernel currently prints a startup message and runs into a loop because I have added only a few files so far. The next step to be done is to add everything else. I have also made some changes: - removed global objects and their ctor / dtor handling scheme: We once agreed not to use global objects that are constructed before the actual kernel code is executed, but to use the replacement new method instead to construct objects as they are needed. - renamed namespaces: I've changed the namespaces "Kernel", "Drivers"... to the more precise names "System" (includes kernel, hal... and other system classes), "HAL"... Temporary changes: - commented the use of common classes like "Mem" and stream classes: I tried to keep the new files simple and stupid for testing purposes. Besides that, I am not quite sure where to put these files. There are three possibilities: 1) A static library - In this case, the kernel files would have to be linked to this library. 2) A dynamic library, which is also loaded by grub. 3) Directly linked into the kernel. I prefer the second way, but if you have different opinions, please let me know. Regards, Manuel |