Hello, I started an experimental branch [1] which changes the interaction with kconsole towards some simplification and purification of the kernel. In a more detail, this is what I have done so far:
- the sys_klog() syscall is used to feed kconsole commands directly to kernel stdin - the kconsole commands are read by the userspace klog application, which also takes care of the command line editing stuff and command history (and, perhaps, could also handle kconsole command tab completion to some extent) - it is no longer possible to switch to kconsole (Alt+M, F12, kcon) - the only two occasions when the kernel prints directly to the stdout is before the uspace takes the console over and when the system panics; other than that, all communication with kconsole is done using klog and the kernel does not touch the devices - it is now possible to talk to the kconsole from over the network There are currently the following issues with the code: - it is difficult, if not impossible, to properly synchronize the kernel output with the klog> prompt, so the prompt usually appears in the middle of the output; could be solved by splitting the output part of the window from the input part of the window - for some reason, I see some of the kernel output twice after my changes - the klog task will not survive running test *, even though the system completes the tests properly If people like this, these are the things that I would like to do: - remove all kernel input drivers (which was one of the biggest motivations for this change) - optionally remove most of the kernel output drivers and keep e.g. only serial ones What do you think, do you like this change? Jakub [0] lp:~jakub/helenos/klog _______________________________________________ HelenOS-devel mailing list [email protected] http://lists.modry.cz/cgi-bin/listinfo/helenos-devel
