xen/24615-VESA-lfb-flush.patch
Charles Arnold 7f6bd728fd - bnc#745880 - cpuid setting is not preserved across xend restarts
xend-cpuid.patch

- Rename 2XXXX-vif-bridge.patch -> vif-bridge-tap-fix.patch

- bnc#747331 - XEN: standard "newburn" kernel QA stress test on guest
  (+ smartd on Dom0?) freezes the guest
  24883-x86-guest-walk-not-present.patch
- bnc#745367 - MCE bank handling during migration
  24781-x86-vmce-mcg_ctl.patch
  24886-x86-vmce-mcg_ctl-default.patch
  24887-x86-vmce-sr.patch
- bnc#744771 - L3: VM with passed through PCI card fails to reboot
  under dom0 load
  24888-pci-release-devices.patch
- Upstream patches from Jan
  24517-VT-d-fault-softirq.patch
  24527-AMD-Vi-fault-softirq.patch
  24535-x86-vMSI-misc.patch
  24615-VESA-lfb-flush.patch
  24690-x86-PCI-SERR-no-deadlock.patch
  24701-gnttab-map-grant-ref-recovery.patch
  24742-gnttab-misc.patch
  24780-x86-paging-use-clear_guest.patch
  24805-x86-MSI-X-dom0-ro.patch
  ioemu-9869-MSI-X-init.patch
  ioemu-9873-MSI-X-fix-unregister_iomem.patch

- bnc#745005 - Update vif configuration examples in xmexample*
  Updated xen-xmexample.diff

OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=172
2012-03-05 20:59:08 +00:00

76 lines
2.0 KiB
Diff

# 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,