summaryrefslogtreecommitdiffstats
path: root/arch/i386/boot/video-vga.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-08-24 16:10:56 -0700
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-08-24 16:10:56 -0700
commit37a3cc99d5048df62bb201c0b45a51ba94497e45 (patch)
treec129d5d04fc4eab5c8bc39fbf2203121be4d6d52 /arch/i386/boot/video-vga.c
parent6e106b0d97e79f1abb60cc49a53af760950c3384 (diff)
parent71351b98b9be6a867aa00276d67716c0728cfff7 (diff)
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: [x86 setup] Make sure AH=00h when setting a video mode [x86 setup] Volatilize asm() statements
Diffstat (limited to 'arch/i386/boot/video-vga.c')
-rw-r--r--arch/i386/boot/video-vga.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/arch/i386/boot/video-vga.c b/arch/i386/boot/video-vga.c
index 700d09a9c9b..aef02f9ec0c 100644
--- a/arch/i386/boot/video-vga.c
+++ b/arch/i386/boot/video-vga.c
@@ -47,16 +47,16 @@ static u8 vga_set_basic_mode(void)
#ifdef CONFIG_VIDEO_400_HACK
if (adapter >= ADAPTER_VGA) {
- asm(INT10
- : : "a" (0x1202), "b" (0x0030)
- : "ecx", "edx", "esi", "edi");
+ asm volatile(INT10
+ : : "a" (0x1202), "b" (0x0030)
+ : "ecx", "edx", "esi", "edi");
}
#endif
ax = 0x0f00;
- asm(INT10
- : "+a" (ax)
- : : "ebx", "ecx", "edx", "esi", "edi");
+ asm volatile(INT10
+ : "+a" (ax)
+ : : "ebx", "ecx", "edx", "esi", "edi");
mode = (u8)ax;
@@ -73,9 +73,10 @@ static u8 vga_set_basic_mode(void)
mode = 3;
/* Set the mode */
+ ax = mode;
asm volatile(INT10
- : : "a" (mode)
- : "ebx", "ecx", "edx", "esi", "edi");
+ : "+a" (ax)
+ : : "ebx", "ecx", "edx", "esi", "edi");
do_restore = 1;
return mode;
}