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

Reply via email to