On Wed, Jun 08, 2011 at 12:10:30AM +0400, Cyrill Gorcunov wrote: > On Tue, Jun 07, 2011 at 10:53:28PM +0300, Pekka Enberg wrote: > > On Tue, 7 Jun 2011, Cyrill Gorcunov wrote: > > >Usually this might be set by loader but since > > >we're the loader lets allow to specify vesa > > >mode as well. > > > > > >Signed-off-by: Cyrill Gorcunov <gorcunov@xxxxxxxxx> > > > > This patch causes 'make check' to go crazy and print out bunch of these: > > > > Pekka, are you sure it's because of _this_ particular patch? > > Cyrill This one should do the trick, cant say I like it, we probably need some default values from options parser, ie to extend it. Cyrill --- kvm tools: Introduce vidmode parmeter v2 Usually this might be set by loader but since we're the loader lets allow to specify vesa mode as well. v2: Pekka spotted the default value was being compromised, so revert it back and set only if specified. Signed-off-by: Cyrill Gorcunov <gorcunov@xxxxxxxxx> --- tools/kvm/kvm-run.c | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) Index: linux-2.6.git/tools/kvm/kvm-run.c =================================================================== --- linux-2.6.git.orig/tools/kvm/kvm-run.c +++ linux-2.6.git/tools/kvm/kvm-run.c @@ -80,6 +80,7 @@ extern int active_console; bool do_debug_print = false; static int nrcpus; +static int vidmode = -1; static const char * const run_usage[] = { "kvm run [<options>] [<kernel image>]", @@ -139,6 +140,10 @@ static const struct option options[] = { OPT_STRING('\0', "tapscript", &script, "Script path", "Assign a script to process created tap device"), + OPT_GROUP("BIOS options:"), + OPT_INTEGER('\0', "vidmode", &vidmode, + "Video mode"), + OPT_GROUP("Debug options:"), OPT_BOOLEAN('\0', "debug", &do_debug_print, "Enable debug messages"), @@ -434,7 +439,6 @@ int kvm_cmd_run(int argc, const char **a struct framebuffer *fb = NULL; unsigned int nr_online_cpus; int exit_code = 0; - u16 vidmode = 0; int max_cpus; char *hi; int i; @@ -539,14 +543,22 @@ int kvm_cmd_run(int argc, const char **a kvm->nrcpus = nrcpus; + /* + * vidmode should be either specified + * either set by default + */ + if (vnc || sdl) { + if (vidmode == -1) + vidmode = 0x312; + } else + vidmode = 0; + memset(real_cmdline, 0, sizeof(real_cmdline)); strcpy(real_cmdline, "notsc noapic noacpi pci=conf1"); if (vnc || sdl) { strcat(real_cmdline, " video=vesafb console=tty0"); - vidmode = 0x312; - } else { + } else strcat(real_cmdline, " console=ttyS0 earlyprintk=serial"); - } strcat(real_cmdline, " "); if (kernel_cmdline) strlcat(real_cmdline, kernel_cmdline, sizeof(real_cmdline)); -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html