From 22ae2b937856d6927216d88b7f61b7623eabdb8c Mon Sep 17 00:00:00 2001 From: Stefan Reinauer Date: Fri, 8 Feb 2013 08:48:20 -0800 Subject: 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 Reviewed-on: http://review.coreboot.org/2325 Reviewed-by: Patrick Georgi Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel --- src/device/oprom/realmode/x86.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/device') 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 #include +#include /* 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 } -- cgit v1.2.3