WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] Trying fbcon in dom1,but take_over_console fails...

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: Re: [Xen-devel] Trying fbcon in dom1,but take_over_console fails...
From: Mark Hurenkamp <mark.hurenkamp@xxxxxxxxx>
Date: Fri, 8 Apr 2005 00:38:28 +0200
Delivery-date: Thu, 07 Apr 2005 21:38:32 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <A95E2296287EAD4EB592B5DEEFCE0E9D1E3A20@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Organization: Hoth
References: <A95E2296287EAD4EB592B5DEEFCE0E9D1E3A20@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: KMail/1.8
Hi,

> I suspect you'd be better off getting the xencons to register as ttyS0
> (xencons=ttyS0) so that it doesn't go anywhere near the console, and
> compile in  VT, VT_CONSOLE and DUMMY_CONSOLE.
Tried that, as well as disabling VGA_CONSOLE, but no improvements :-(:-(
however, when built as a module, it is somewhat easier to debug this
problem in fbcon, since dom1 is still running after it segfaults, and I can
still use dmesg to see the printk's (strange that they don't appear on the 
console...).

>
> Please let us know how you get on.

Ok, here's what I found so far:

Using printk statements, I was able to find the culprit, it seems to be the
vc pointer which is not initialised properly.

Here's the piece of code (from fbcon_startup):

        /* Setup default font */
        if (!p->fontdata) {
                if (!fontname[0] || !(font = find_font(fontname)))
                        font = get_default_font(info->var.xres,
                                                info->var.yres);

                DPRINTK("fbcon_startup: ca\n");

                vc->vc_font.width = font->width;
                vc->vc_font.height = font->height;
                vc->vc_font.data = p->fontdata = font->data;
                vc->vc_font.charcount = 256; /* FIXME  Need to support more 
fonts */

                DPRINTK("fbcon_startup: cb\n");

        }

And the oops occurs between the two DPRINTK's...
So I added a check at startup:

static const char *fbcon_startup(void)
{
        const char *display_desc = "frame buffer device";
        struct display *p = &fb_display[fg_console];
        struct vc_data *vc = vc_cons[fg_console].d;
        struct font_desc *font = NULL;
        struct module *owner;
        struct fb_info *info = NULL;
        struct fbcon_ops *ops;
        int rows, cols;
        int irqres;

        DPRINTK("fbcon_startup... fg_console: %d, vc: %d\n",fg_console,vc);

This prints 0 for the fg_console (not necessarely a problem) as well as vc... 
which is defenately a problem since it is dereferenced later!

Seems like the vc_cons is not setup right, I'll have to take a look into vt.c 
I guess.
Could this be due to the missing ps/2 port on domU (since they are assigned to 
dom0)?

Will report back when I know more.


Regards,
Mark.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel