|  |  | 
  
    |  |  | 
 
  |   |  | 
  
    |  |  | 
  
    |  |  | 
  
    |   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 <=
 |  |  | 
  
    |  |  |