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

[Xen-devel] about framebuffer support in xen domain 0

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] about framebuffer support in xen domain 0
From: "qiang.wang" <qiang.wang@xxxxxxxxxxx>
Date: Thu, 08 Mar 2007 16:09:49 +0800
Delivery-date: Thu, 08 Mar 2007 00:05:07 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
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>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Hi, list,
I have a problem after moving the bootsplash patch into the domain 0 kernel. It doesn't work.
After digging the source code, I found that the kernel data "struct screen_info screen_info" is set to a specific value in arch/i386/kernel/setup-xen.c. And the info->video_type is XEN_VGATYPE_TEXT_MODE_3, so it doesn't support framebuffer in domain 0 and the bootsplash either.

void __init setup_arch(char **cmdline_p)
{
...

if (is_initial_xendomain()) {
                /* This is drawn from a dump from vgacon:startup in
                 * standard Linux. */
                screen_info.orig_video_mode = 3;
                screen_info.orig_video_isVGA = 1;
                screen_info.orig_video_lines = 25;
                screen_info.orig_video_cols = 80;
                screen_info.orig_video_ega_bx = 3;
                screen_info.orig_video_points = 16;
                screen_info.orig_y = screen_info.orig_video_lines - 1;
                if (xen_start_info->console.dom0.info_size >=
                    sizeof(struct dom0_vga_console_info)) {
                        //const struct dom0_vga_console_info *info =
                        struct dom0_vga_console_info *info =
                                (struct dom0_vga_console_info *)(
                                        (char *)xen_start_info +
                                        xen_start_info->console.dom0.info_off);
                        // wangqiang
                        //info->video_type = XEN_VGATYPE_VESA_LFB;
                        dom0_init_screen_info(info);
                }
                xen_start_info->console.domU.mfn = 0;
                xen_start_info->console.domU.evtchn = 0;
        } else
                screen_info.orig_video_isVGA = 0;
...
}


it seems that the initial dom0_vga_console_info is set by fill_console_start_info() in xen/drivers/video/vga.c
My question is that is there a particular reason to assign the dom0_vga_console_info a specific value?
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
<Prev in Thread] Current Thread [Next in Thread>