diff options
author | Stefan Reinauer <stefan.reinauer@coreboot.org> | 2013-02-08 08:48:20 -0800 |
---|---|---|
committer | Stefan Reinauer <stefan.reinauer@coreboot.org> | 2013-02-08 18:36:35 +0100 |
commit | 22ae2b937856d6927216d88b7f61b7623eabdb8c (patch) | |
tree | e931413e096d9b4ca9a46844e07ab24aa5836b25 | |
parent | 882f7e35ea1dc2f6be4ba6c2529ed59915863e81 (diff) |
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>
-rw-r--r-- | src/device/oprom/realmode/x86.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/device/oprom/realmode/x86.c b/src/device/oprom/realmode/x86.c index 6e7699214a..5fd11b59a5 100644 --- a/src/device/oprom/realmode/x86.c +++ b/src/device/oprom/realmode/x86.c @@ -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 } |