From: Werner A. <we...@al...> - 2004-02-08 21:53:48
|
Since UML ursurps the "debug" parameter, we can't make the kernel more verbose before user space runs. This patch adds a new option "kernel" that has the same effect as the original "debug". Slightly kludgy, but gets the job done :-) The patch is for 2.6.1 with uml-patch-2.6.1-1. - Werner --- linux-2.6.1/arch/um/kernel/tt/tracer.c.orig Sun Feb 8 18:15:18 2004 +++ linux-2.6.1/arch/um/kernel/tt/tracer.c Sun Feb 8 18:44:51 2004 @@ -391,10 +391,19 @@ { char *next; - debug = 1; - *add = 0; - if(*line != '=') return(0); - line++; + if (!strncmp(line, "=kernel", 7)) { + *line = 0; + if (line[7] != ',') + return 0; + line += 8; + debug = 1; + } + else { + debug = 1; + *add = 0; + if(*line != '=') return(0); + line++; + } while(line != NULL){ next = strchr(line, ','); @@ -410,10 +419,15 @@ } __uml_setup("debug", uml_debug_setup, -"debug\n" -" Starts up the kernel under the control of gdb. See the \n" -" kernel debugging tutorial and the debugging session pages\n" -" at http://user-mode-linux.sourceforge.net/ for more information.\n\n" +"debug[=kernel,go,parent]\n" +" \"debug=kernel\" changes the kernel log level such that debugging\n" +" printks are printed on the console. This is equivalent to the \"debug\"\n" +" option in a non-UML kernel. If \"debug=kernel\" is used with other\n" +" options, it must be the first option in the list.\n" +" The other options (or just plain \"debug\") start up the kernel under\n" +" the control of gdb. See the kernel debugging tutorial and the\n" +" debugging session pages at http://user-mode-linux.sourceforge.net/\n" +" for more information.\n\n" ); static int __init uml_debugtrace_setup(char *line, int *add) -- _________________________________________________________________________ / Werner Almesberger, Buenos Aires, Argentina we...@al... / /_http://www.almesberger.net/____________________________________________/ |
From: Jeff D. <jd...@ad...> - 2004-02-12 15:24:29
|
On Sun, Feb 08, 2004 at 06:53:34PM -0300, Werner Almesberger wrote: > Since UML ursurps the "debug" parameter, we can't make the kernel > more verbose before user space runs. This patch adds a new option > "kernel" that has the same effect as the original "debug". Hummm, that was some bad planning on my part. Would there be any loud screams of horror if I were to change the UML 'debug' switch to 'gdb' or something? That would get rid of this clash and eliminate the need for this patch. If I don't hear sufficiently loud objections, I think I will go ahead and do it. Jeff |
From: Werner A. <we...@al...> - 2004-02-13 00:42:47
|
Jeff Dike wrote: > Would there be any loud screams of horror if I were to change the UML > 'debug' switch to 'gdb' or something? Only screams of joy from my side :-) Perhaps a parameter to pass further parameters verbatim to the kernel, i.e. something like the "--" some programs use, could be useful too, just in case someone invents a configurable "global debug buffer" or such. - Werner -- _________________________________________________________________________ / Werner Almesberger, Buenos Aires, Argentina we...@al... / /_http://www.almesberger.net/____________________________________________/ |
From: Geert U. <ge...@li...> - 2004-02-13 09:55:48
|
On Thu, 12 Feb 2004, Werner Almesberger wrote: > Jeff Dike wrote: > > Would there be any loud screams of horror if I were to change the UML > > 'debug' switch to 'gdb' or something? > > Only screams of joy from my side :-) > > Perhaps a parameter to pass further parameters verbatim to the > kernel, i.e. something like the "--" some programs use, could > be useful too, just in case someone invents a configurable > "global debug buffer" or such. Be careful not to break the feature to pass all remaining arguments to init. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@li... In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds |
From: Werner A. <we...@al...> - 2004-02-13 17:18:14
|
Geert Uytterhoeven wrote: > Be careful not to break the feature to pass all remaining arguments to init. Hmm, I don't see it. How does it work ? - Werner -- _________________________________________________________________________ / Werner Almesberger, Buenos Aires, Argentina we...@al... / /_http://www.almesberger.net/____________________________________________/ |
From: Geert U. <ge...@li...> - 2004-02-13 17:20:57
|
On Fri, 13 Feb 2004, Werner Almesberger wrote: > Geert Uytterhoeven wrote: > > Be careful not to break the feature to pass all remaining arguments to init. > > Hmm, I don't see it. How does it work ? All kernel parameters that are not recognized by the kernel are passed to init using its argv[]. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@li... In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds |
From: Werner A. <we...@al...> - 2004-02-13 18:46:04
|
Geert Uytterhoeven wrote: > All kernel parameters that are not recognized by the kernel are passed > to init using its argv[]. Ah, that ! I thought you meant some well-hidden feature that would work like "--", separating things parsed by the kernel from those passed verbatim to init :) No, there should be no problem. UML actually layers its command-line parsing on top of the kernel part. Everything not explicitly claimed by UML ends up on the (single) string passed to the kernel, which is then processed in a separate pass. - Werner -- _________________________________________________________________________ / Werner Almesberger, Buenos Aires, Argentina we...@al... / /_http://www.almesberger.net/____________________________________________/ |