VBE: Skip graphics mode setting for non-VGA devices

This hit me when running the latest Qemu with coreboot:
First the graphics OPROM is running, then an iPXE OPROM.
The iPXE OPROM has no int10 support (obviously) so calling
vbe_set_graphics() wipes the framebuffer information from
the coreboot table.

Change-Id: Ie0453c4a908ea4a6216158f663407a3e72ce4d34
Signed-off-by: Stefan Reinauer <reinauer@google.com>
Reviewed-on: http://review.coreboot.org/2325
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
This commit is contained in:
Stefan Reinauer 2013-02-08 08:48:20 -08:00
parent 882f7e35ea
commit 22ae2b9378
1 changed files with 3 additions and 1 deletions

View File

@ -34,6 +34,7 @@
/* we use x86emu's register file representation */
#include <x86emu/regs.h>
#include <boot/coreboot_tables.h>
#include <device/pci_ids.h>
/* to have a common register file for interrupt handlers */
X86EMU_sysEnv _X86EMU_env;
@ -322,7 +323,8 @@ void run_bios(struct device *dev, unsigned long addr)
printk(BIOS_DEBUG, "... Option ROM returned.\n");
#if CONFIG_FRAMEBUFFER_SET_VESA_MODE
vbe_set_graphics();
if ((dev->class >> 8)== PCI_CLASS_DISPLAY_VGA)
vbe_set_graphics();
#endif
}