Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:12.2:PowerPC
xen
24615-VESA-lfb-flush.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 24615-VESA-lfb-flush.patch of Package xen
# HG changeset patch # User Andrew Cooper <andrew.cooper3@citrix.com> # Date 1327758145 0 # Node ID ac9f32525376922fdf5b9efac7a1fe0ff866cc76 # Parent f8c2cf24a26cc6cdaaad9140e4b1dfc54f07bab3 vesa: flush lfb after zeroing If Xen is going to relinquish the VGA console, flush the linear frame buffer after zeroing it in vesa_endboot(). Failing to do so in some circumstances leads to the actual linear framebuffer on the graphics card still containing the output of the Xen boot console can lead to ugly graphics output when dom0 is setting up the graphics card for its own use. While the patch is quite large, it is mostly just code motion to prevent having to forward declare lfb_flush(). The only functional change to vesa_endboot() is to insert a call to lbf_flush(). Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> Committed-by: Keir Fraser <keir@xen.org> --- a/xen/drivers/video/vesa.c +++ b/xen/drivers/video/vesa.c @@ -153,24 +153,6 @@ void __init vesa_init(void) xfree(line_len); } -void __init vesa_endboot(bool_t keep) -{ - if ( keep ) - { - xpos = 0; - vga_puts = vesa_scroll_puts; - } - else - { - unsigned int i, bpp = (vlfb_info.bits_per_pixel + 7) >> 3; - for ( i = 0; i < vlfb_info.height; i++ ) - memset(lfb + i * vlfb_info.bytes_per_line, 0, - vlfb_info.width * bpp); - } - - xfree(line_len); -} - #if defined(CONFIG_X86) #include <asm/mtrr.h> @@ -217,6 +199,25 @@ static void lfb_flush(void) #endif +void __init vesa_endboot(bool_t keep) +{ + if ( keep ) + { + xpos = 0; + vga_puts = vesa_scroll_puts; + } + else + { + unsigned int i, bpp = (vlfb_info.bits_per_pixel + 7) >> 3; + for ( i = 0; i < vlfb_info.height; i++ ) + memset(lfb + i * vlfb_info.bytes_per_line, 0, + vlfb_info.width * bpp); + lfb_flush(); + } + + xfree(line_len); +} + /* Render one line of text to given linear framebuffer line. */ static void vesa_show_line( const unsigned char *text_line,
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor