mirror of
https://git.proxmox.com/git/grub2
synced 2025-08-17 01:40:47 +00:00
Switch back to framebuffer page zero before loading the kernel
(thanks, Felix Kuehling).
This commit is contained in:
parent
70e4d5f34f
commit
24bf5498ad
2
debian/changelog
vendored
2
debian/changelog
vendored
@ -4,6 +4,8 @@ grub2 (1.99~rc1-6) UNRELEASED; urgency=low
|
|||||||
- Fix crash when extending menu entry line beyond 79 characters (closes:
|
- Fix crash when extending menu entry line beyond 79 characters (closes:
|
||||||
#615893).
|
#615893).
|
||||||
- Account for FreeBSD module headers when calculating allocation size.
|
- Account for FreeBSD module headers when calculating allocation size.
|
||||||
|
- Switch back to framebuffer page zero before loading the kernel
|
||||||
|
(thanks, Felix Kuehling).
|
||||||
* Merge from Ubuntu:
|
* Merge from Ubuntu:
|
||||||
- If we're upgrading and /boot/grub/core.img doesn't exist, then don't
|
- If we're upgrading and /boot/grub/core.img doesn't exist, then don't
|
||||||
ask where to install GRUB, since it probably means we're in some kind
|
ask where to install GRUB, since it probably means we're in some kind
|
||||||
|
1
debian/patches/series
vendored
1
debian/patches/series
vendored
@ -21,3 +21,4 @@ btrfs_rootflags.patch
|
|||||||
lnxboot_grub.patch
|
lnxboot_grub.patch
|
||||||
normal_menu_line_alloc.patch
|
normal_menu_line_alloc.patch
|
||||||
freebsd_module_header_alloc.patch
|
freebsd_module_header_alloc.patch
|
||||||
|
video_fb_pageflip.patch
|
||||||
|
32
debian/patches/video_fb_pageflip.patch
vendored
Normal file
32
debian/patches/video_fb_pageflip.patch
vendored
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
Description: Switch back to framebuffer page zero before loading kernel
|
||||||
|
Thanks to Felix Kuehling.
|
||||||
|
Author: Colin Watson <cjwatson@ubuntu.com>
|
||||||
|
Forwarded: http://lists.gnu.org/archive/html/grub-devel/2011-03/msg00057.html
|
||||||
|
Applied-Upstream: http://bazaar.launchpad.net/~vcs-imports/grub/grub2-bzr/revision/3116
|
||||||
|
Last-Update: 2011-03-25
|
||||||
|
|
||||||
|
Index: b/grub-core/video/fb/video_fb.c
|
||||||
|
===================================================================
|
||||||
|
--- a/grub-core/video/fb/video_fb.c
|
||||||
|
+++ b/grub-core/video/fb/video_fb.c
|
||||||
|
@@ -1505,6 +1505,20 @@
|
||||||
|
{
|
||||||
|
grub_memcpy (mode_info, &(framebuffer.front_target->mode_info),
|
||||||
|
sizeof (*mode_info));
|
||||||
|
+
|
||||||
|
+ /* We are about to load a kernel. Switch back to page zero, since some
|
||||||
|
+ kernel drivers expect that. */
|
||||||
|
+ if ((mode_info->mode_type & GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED)
|
||||||
|
+ && framebuffer.set_page && framebuffer.displayed_page != 0)
|
||||||
|
+ {
|
||||||
|
+ /* Ensure both pages are exactly in sync. */
|
||||||
|
+ grub_memcpy (framebuffer.back_target->data,
|
||||||
|
+ framebuffer.front_target->data,
|
||||||
|
+ framebuffer.back_target->mode_info.pitch
|
||||||
|
+ * framebuffer.back_target->mode_info.height);
|
||||||
|
+ grub_video_swap_buffers ();
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
*framebuf = framebuffer.front_target->data;
|
||||||
|
|
||||||
|
grub_video_fb_fini ();
|
Loading…
Reference in New Issue
Block a user