* [PATCH 7 of 13] fix console switch
@ 2009-03-02 17:13 Stefano Stabellini
0 siblings, 0 replies; only message in thread
From: Stefano Stabellini @ 2009-03-02 17:13 UTC (permalink / raw)
To: xen-devel
Import some console switch improvements and fixes from qemu mainstream.
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
diff -r db86b9f0df7c console.c
--- a/console.c Mon Feb 16 12:18:33 2009 +0000
+++ b/console.c Mon Feb 16 16:36:58 2009 +0000
@@ -1190,7 +1190,7 @@
} else {
/* HACK: Put graphical consoles before text consoles. */
for (i = nb_consoles; i > 0; i--) {
- if (!consoles[i - 1]->console_type == GRAPHIC_CONSOLE)
+ if (consoles[i - 1]->console_type == GRAPHIC_CONSOLE)
break;
consoles[i] = consoles[i - 1];
}
@@ -1258,6 +1258,8 @@
static void text_console_do_init(CharDriverState *chr, DisplayState *ds, const char *p)
{
TextConsole *s;
+ unsigned width;
+ unsigned height;
static int color_inited;
s = new_console(ds, (p == 0) ? TEXT_CONSOLE : TEXT_CONSOLE_FIXED_SIZE);
@@ -1277,15 +1279,36 @@
if (!color_inited) {
color_inited = 1;
- console_color_init(ds);
+ console_color_init(s->ds);
}
s->y_displayed = 0;
s->y_base = 0;
s->total_height = DEFAULT_BACKSCROLL;
s->x = 0;
s->y = 0;
- s->g_width = ds_get_width(s->ds);
- s->g_height = ds_get_height(s->ds);
+ width = ds_get_width(s->ds);
+ height = ds_get_height(s->ds);
+ if (p != 0) {
+ width = strtoul(p, (char **)&p, 10);
+ if (*p == 'C') {
+ p++;
+ width *= FONT_WIDTH;
+ }
+ if (*p == 'x') {
+ p++;
+ height = strtoul(p, (char **)&p, 10);
+ if (*p == 'C') {
+ p++;
+ height *= FONT_HEIGHT;
+ }
+ }
+ }
+ s->g_width = width;
+ s->g_height = height;
+
+ s->hw_invalidate = text_console_invalidate;
+ s->hw_text_update = text_console_update;
+ s->hw = s;
/* Set text attribute defaults */
s->t_attrib_default.bold = 0;
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2009-03-02 17:13 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-03-02 17:13 [PATCH 7 of 13] fix console switch Stefano Stabellini
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.