]> git.karo-electronics.de Git - karo-tx-linux.git/commit
kvm tools: Fix VESA BIOS mode info
authorCyrill Gorcunov <gorcunov@gmail.com>
Fri, 4 Nov 2011 06:48:06 +0000 (10:48 +0400)
committerPekka Enberg <penberg@kernel.org>
Fri, 4 Nov 2011 07:00:20 +0000 (09:00 +0200)
commit4551caa40d39f850be0b9c1c2be17df921df99b2
tree4e62405000f6e805d92c157cd54b72bb51686c2f
parent3b08ed02633d90931d74374edbf595e7c0bd55b7
kvm tools: Fix VESA BIOS mode info

Some VGA data such as VESA info needs a proper tuning for addresses
passed on kernel requests.  We returned linear addresses there while
spec points out that far pointers are needed.

This fixes a long-standing issue that caused Linux kernel to never exit
the mode scanning loop in arch/x86/boot/video-vesa.c::vesa_probe()
because returned mode info table segment/offset pair was bogus. The
issue triggered on some machines when CONFIG_FB_VESA was disabled.

Also use already VESA structures defined in <boot/vesa.h> header now
that we no longer use the struct to store VESA BIOS data.

Reported-by: Pekka Enberg <penberg@kernel.org>
CC: Sasha Levin <levinsasha928@gmail.com>
CC: Ingo Molnar <mingo@elte.hu>
CC: Asias He <asias.hejun@gmail.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
[ penberg@kernel.org: minor cleanups to setup_vga_rom() ]
Signed-off-by: Pekka Enberg <penberg@kernel.org>
tools/kvm/Makefile
tools/kvm/bios.c
tools/kvm/bios/int10.c
tools/kvm/include/kvm/bios.h