diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-18 12:13:02 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-18 12:13:02 -0700 |
commit | 97405fe26b2a4df7090884b086ee8224ace2a6d1 (patch) | |
tree | 528f9f1f3f8cf0ce933a366f137faaf55ab89079 /arch/i386/boot/video.c | |
parent | a10d9a71bafd3a283da240d2868e71346d2aef6f (diff) | |
parent | 3fbc54165d7217abf62b871c0dd074e76ce0eb31 (diff) | |
download | linux-97405fe26b2a4df7090884b086ee8224ace2a6d1.tar.bz2 |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hpa/linux-2.6-x86setup
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hpa/linux-2.6-x86setup:
[PATCH] x86: do not recompile boot for each build
[x86 setup] Save/restore DS around invocations of INT 10h
[x86 setup] VGA: Clear the Protect bit before setting the vertical height
[x86 setup] Fix assembly constraints
[x86 setup] build/tools.c: fix comment
[x86 setup] MAINTAINERS: document x86 setup code git tree
Diffstat (limited to 'arch/i386/boot/video.c')
-rw-r--r-- | arch/i386/boot/video.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/arch/i386/boot/video.c b/arch/i386/boot/video.c index 3bb3573cd6a1..958130ef0042 100644 --- a/arch/i386/boot/video.c +++ b/arch/i386/boot/video.c @@ -195,7 +195,7 @@ static void vga_recalc_vertical(void) { unsigned int font_size, rows; u16 crtc; - u8 ov; + u8 pt, ov; set_fs(0); font_size = rdfs8(0x485); /* BIOS: font size (pixels) */ @@ -206,7 +206,12 @@ static void vga_recalc_vertical(void) crtc = vga_crtc(); + pt = in_idx(crtc, 0x11); + pt &= ~0x80; /* Unlock CR0-7 */ + out_idx(pt, crtc, 0x11); + out_idx((u8)rows, crtc, 0x12); /* Lower height register */ + ov = in_idx(crtc, 0x07); /* Overflow register */ ov &= 0xbd; ov |= (rows >> (8-1)) & 0x02; @@ -411,7 +416,7 @@ static void restore_screen(void) "1: rep;stosl ; " "popw %%es" : "+D" (dst), "+c" (npad) - : "bdSm" (video_segment), + : "bdS" (video_segment), "a" (0x07200720)); } |