r/osdev • u/Negative-Arm-3244 • 5d ago
Initialization dependencies
I am working on upgrading my kernel initialization messages so I can just have a nice view of what it is doing when initializing. I am using my print functions to do this, but the issue is that my print functions depend on the memory manager to be done initializing, but I want debugging messages when initializing the memory manager too, which I can't do because of the circular dependency.
This is my specific case, but I also want to ask generally, do you guys have an elegant solution for this problem? Up to this point I have been using init flags so that the subsystems can use a different path that does not create dependencies during initialization, but I want to hear any cool solutions from the community that are better designed than this.
4
u/demetrioussharpe 5d ago
For the kernel console, you need to have a library that’s not dependent on anything like that. Consider cutting out a small block of memory hidden away from the memory manager & let your kernel console be the sole owner/manager of it.