7f6bd728fd
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
76 lines
2.0 KiB
Diff
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,
|