|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] about framebuffer support in xen domain 0
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>
|
- [Xen-devel] about framebuffer support in xen domain 0,
qiang.wang <=
|
|
|
|
|