diff options
Diffstat (limited to 'main/linux-vserver/x86-setup-When-restoring-the-screen-update-boot_params-screen_info.patch')
-rw-r--r-- | main/linux-vserver/x86-setup-When-restoring-the-screen-update-boot_params-screen_info.patch | 48 |
1 files changed, 0 insertions, 48 deletions
diff --git a/main/linux-vserver/x86-setup-When-restoring-the-screen-update-boot_params-screen_info.patch b/main/linux-vserver/x86-setup-When-restoring-the-screen-update-boot_params-screen_info.patch deleted file mode 100644 index a4f94d7fa4..0000000000 --- a/main/linux-vserver/x86-setup-When-restoring-the-screen-update-boot_params-screen_info.patch +++ /dev/null @@ -1,48 +0,0 @@ -From f1f6baf8f1df29be38003089787e378567ce0086 Mon Sep 17 00:00:00 2001 -From: H. Peter Anvin <hpa@zytor.com> -Date: Wed, 17 Feb 2010 18:32:06 -0800 -Subject: [PATCH] x86, setup: When restoring the screen, update boot_params.screen_info - -When we restore the screen content after a mode change, we return the -cursor to its former position. However, we need to also update -boot_params.screen_info accordingly, so that the decompression code -knows where on the screen the cursor is. Just in case the video BIOS -does something extra screwy, read the cursor position back from the -BIOS instead of relying on it doing the right thing. - -While we're at it, make sure we cap the cursor position to the new -screen coordinates. - -Reported-by: Wim Osterholt <wim@djo.tudelft.nl> -Bugzilla-Reference: http://bugzilla.kernel.org/show_bug.cgi?id=15329 -Signed-off-by: H. Peter Anvin <hpa@zytor.com> ---- - arch/x86/boot/video.c | 7 +++++++ - 1 files changed, 7 insertions(+), 0 deletions(-) - -diff --git a/arch/x86/boot/video.c b/arch/x86/boot/video.c -index f767164..43eda28 100644 ---- a/arch/x86/boot/video.c -+++ b/arch/x86/boot/video.c -@@ -298,11 +298,18 @@ static void restore_screen(void) - } - - /* Restore cursor position */ -+ if (saved.curx >= xs) -+ saved.curx = xs-1; -+ if (saved.cury >= ys) -+ saved.cury = ys-1; -+ - initregs(&ireg); - ireg.ah = 0x02; /* Set cursor position */ - ireg.dh = saved.cury; - ireg.dl = saved.curx; - intcall(0x10, &ireg, NULL); -+ -+ store_cursor_position(); - } - - void set_video(void) --- -1.7.1 - |