[coreboot] New patch to review for coreboot: fc342bf VBE: Skip graphics mode setting for non-VGA devices

Stefan Reinauer (stefan.reinauer@coreboot.org) gerrit at coreboot.org
Fri Feb 8 17:51:59 CET 2013

Stefan Reinauer (stefan.reinauer at coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/2325


commit fc342bfdac1e1037ff02459071cc72f35bf95ff4
Author: Stefan Reinauer <stefan.reinauer at 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 at 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");
-	vbe_set_graphics();
+	if ((dev->class >> 8)== PCI_CLASS_DISPLAY_VGA)
+		vbe_set_graphics();

More information about the coreboot mailing list