diff options
author | Egbert Eich <eich@suse.de> | 2005-05-18 15:38:50 +0000 |
---|---|---|
committer | Egbert Eich <eich@suse.de> | 2005-05-18 15:38:50 +0000 |
commit | fddcde777f50611099d8888456d93be7e566c84e (patch) | |
tree | 7b3715f32a01b7a0f977764e1bb85efb56495a6e /hw/xfree86/vbe/vbe.c | |
parent | f28d644d9fb1feeab1bbb3d5e68255bfa20905d8 (diff) |
VBESetVBEMode() calls int10 0x4f02 to set a VBE video mode. This can be a
standard mode solely determined by the mode ID or it may be a detailed
mode with almost arbitrary mode parameters. The mode parameters are
passed to the BIOS in a memory area pointed to by es:di. If bit 11 in
the video mode is set this memory area is evaluated. When we don't have
such an area (passed to VBESetVBEMode() this function should unset this
bit for sanity reasons. (Bugzilla #3329)
Diffstat (limited to 'hw/xfree86/vbe/vbe.c')
-rw-r--r-- | hw/xfree86/vbe/vbe.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/hw/xfree86/vbe/vbe.c b/hw/xfree86/vbe/vbe.c index 33df80a92..7b55c1398 100644 --- a/hw/xfree86/vbe/vbe.c +++ b/hw/xfree86/vbe/vbe.c @@ -469,7 +469,8 @@ VBESetVBEMode(vbeInfoPtr pVbe, int mode, VbeCRTCInfoBlock *block) memcpy(pVbe->memory, block, sizeof(VbeCRTCInfoBlock)); pVbe->pInt10->es = SEG_ADDR(pVbe->real_mode_base); pVbe->pInt10->di = SEG_OFF(pVbe->real_mode_base); - } + } else + pVbe->pInt10->bx &= ~(1 << 11); xf86ExecX86int10(pVbe->pInt10); |