[x86 setup] The current display page is returned in %bh, not %bl
authorH. Peter Anvin <hpa@zytor.com>
Fri, 10 Aug 2007 21:20:26 +0000 (14:20 -0700)
committerH. Peter Anvin <hpa@zytor.com>
Tue, 14 Aug 2007 21:12:44 +0000 (14:12 -0700)
The current display page is an 8-bit number, even though struct
screen_info gives it a 16-bit number.  The number is returned in %bh,
so it needs to be >> 8 before storing.

Special thanks to Jeff Chua for detailed bug reporting.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
arch/i386/boot/video.c

index 958130ef004296c02f79614838152f0e1beae102..693f20d3102e9322759adca6834f2de4e159d0a1 100644 (file)
@@ -61,7 +61,7 @@ static void store_video_mode(void)
 
        /* Not all BIOSes are clean with respect to the top bit */
        boot_params.screen_info.orig_video_mode = ax & 0x7f;
-       boot_params.screen_info.orig_video_page = page;
+       boot_params.screen_info.orig_video_page = page >> 8;
 }
 
 /*