qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] Handle vga= in -append
@ 2009-07-13 15:46 Pascal Terjan
  0 siblings, 0 replies; only message in thread
From: Pascal Terjan @ 2009-07-13 15:46 UTC (permalink / raw)
  To: qemu-devel

Here is a patch I had sent twice to the list 2 years ago.
Hopefuly this time someone will be interested

It adds support for passing vga mode to linux kernel through
vga= option in -append

Signed-off-by: Pascal Terjan <pterjan@gmail.com>
---
 hw/pc.c |   20 ++++++++++++++++++++
 1 files changed, 20 insertions(+), 0 deletions(-)

diff --git a/hw/pc.c b/hw/pc.c
index c134506..9050934 100644
--- a/hw/pc.c
+++ b/hw/pc.c
@@ -825,6 +825,7 @@ static void load_linux(void *fw_cfg,
     uint8_t header[8192];
     target_phys_addr_t real_addr, prot_addr, cmdline_addr, initrd_addr = 0;
     FILE *f, *fi;
+    char *vmode;
 
     /* Align to 16 bytes as a paranoia measure */
     cmdline_size = (strlen(kernel_cmdline)+16) & ~15;
@@ -900,6 +901,25 @@ static void load_linux(void *fw_cfg,
 	stw_p(header+0x22, cmdline_addr-real_addr);
     }
 
+    /* handle vga= parameter */
+    vmode = strstr(kernel_cmdline, "vga=");
+    if (vmode) {
+        char *space;
+        unsigned int video_mode;
+        /* skip "vga=" */
+        vmode += 4;
+        if (!strncmp(vmode, "normal", 6)) {
+            video_mode = 0xffff;
+        } else if (!strncmp(vmode, "ext", 3)) {
+            video_mode = 0xfffe;
+        } else if (!strncmp(vmode, "ask", 3)) {
+            video_mode = 0xfffd;
+        } else {
+            video_mode = strtol(vmode, NULL, 0);
+        }
+        stw_p(header+0x1fa, video_mode);
+    }
+
     /* loader type */
     /* High nybble = B reserved for Qemu; low nybble is revision number.
        If this code is substantially changed, you may want to consider
-- 
1.6.3.3

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2009-07-13 15:46 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-07-13 15:46 [Qemu-devel] [PATCH] Handle vga= in -append Pascal Terjan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).