diff mbox

[2/5] kvm tools: Introduce vidmode parmeter

Message ID 20110607202218.GZ1754@sun (mailing list archive)
State New, archived
Headers show

Commit Message

Cyrill Gorcunov June 7, 2011, 8:22 p.m. UTC
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@gmail.com>
> > 
> > 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@gmail.com>
---
 tools/kvm/kvm-run.c |   20 ++++++++++++++++----
 1 file changed, 16 insertions(+), 4 deletions(-)

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

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));