Stefan Reinauer (stefan.reinauer@coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/2325
-gerrit
commit fc342bfdac1e1037ff02459071cc72f35bf95ff4 Author: Stefan Reinauer stefan.reinauer@coreboot.org Date: Fri Feb 8 08:48:20 2013 -0800
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 --- src/device/oprom/realmode/x86.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/device/oprom/realmode/x86.c b/src/device/oprom/realmode/x86.c index 6e76992..5fd11b5 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 }