summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2015-03-17 10:52:16 -0400
committerGerd Hoffmann <kraxel@redhat.com>2015-06-16 10:00:30 +0200
commit33fbe13a3e2a01e0ba1087a8feed801a0451db21 (patch)
tree5f72da7baf432c664188b6d56650e56ee1cdfcc0
parentc186d54090c8b69c103aa3918ac8031e6ae1936a (diff)
downloadqemu-seabios-1.8-stable.tar.gz
vgabios: On bda_save_restore() the saved vbe_mode also has flags in itrel-1.8.21.8-stable
When restoring a saved state, make sure to remove any flags from the video mode prior to searching for that mode. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
-rw-r--r--vgasrc/vgabios.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/vgasrc/vgabios.c b/vgasrc/vgabios.c
index f5abda6..4aa50e1 100644
--- a/vgasrc/vgabios.c
+++ b/vgasrc/vgabios.c
@@ -259,7 +259,7 @@ bda_save_restore(int cmd, u16 seg, void *data)
, sizeof(info->bda_0x84));
u16 vbe_mode = GET_FARVAR(seg, info->vbe_mode);
SET_BDA_EXT(vbe_mode, vbe_mode);
- struct vgamode_s *vmode_g = vgahw_find_mode(vbe_mode);
+ struct vgamode_s *vmode_g = vgahw_find_mode(vbe_mode & ~MF_VBEFLAGS);
SET_BDA_EXT(vgamode_offset, (u32)vmode_g);
SET_IVT(0x1f, GET_FARVAR(seg, info->font0));
SET_IVT(0x43, GET_FARVAR(seg, info->font1));