[coreboot] [v2] r4909 - trunk/src/devices

svn at coreboot.org svn at coreboot.org
Thu Nov 5 09:10:12 CET 2009


Author: stepan
Date: 2009-11-05 08:10:12 +0000 (Thu, 05 Nov 2009)
New Revision: 4909

Modified:
   trunk/src/devices/pci_rom.c
Log:
When loading an option ROM use the class stored in the device to
decide whether the option ROM is a special VGA type.

An S3 card that I've got has the wrong class in the VGA BIOS.
(A Stealth 64 DRAM T PCI, from 1994 - BIOS V2.02)

Signed-off-by: Mark Marshall <mark.marshall at csr.com>
Acked-by: Stefan Reinauer <stepan at coresystems.de>



Modified: trunk/src/devices/pci_rom.c
===================================================================
--- trunk/src/devices/pci_rom.c	2009-11-04 12:18:44 UTC (rev 4908)
+++ trunk/src/devices/pci_rom.c	2009-11-05 08:10:12 UTC (rev 4909)
@@ -116,7 +116,10 @@
 
 	rom_size = rom_header->size * 512;
 
-	if (PCI_CLASS_DISPLAY_VGA == rom_data->class_hi) {
+	// We check to see if the device thinks it is a VGA device not
+	// whether the ROM image is for a VGA device because some
+	// devices have a mismatch between the hardware and the ROM
+ 	if (PCI_CLASS_DISPLAY_VGA == (dev->class >> 8)) {
 #if CONFIG_CONSOLE_VGA == 1 && CONFIG_CONSOLE_VGA_MULTI == 0
 		extern device_t vga_pri;	// the primary vga device, defined in device.c
 		if (dev != vga_pri) return NULL; // only one VGA supported





More information about the coreboot mailing list