In pci_device.c, the class for VGA was not tested properly, leading to
no VGA output from coreboot, even after the boot-rom was executed
properly (CONFIG_PCI_ROM_RUN) or no boot-rom execution with
CONFIG_VGA_ROM_RUN at all. According to the header file device.h, the
class field of struct device is '3 bytes: (base,sub,prog-if)'.
Signed-off-by: Ronald Hoogenboom <hoogenboom30@zonnet.nl>
Acked-by: Torsten Duwe <duwe@lst.de>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3119 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
diff --git a/src/devices/pci_device.c b/src/devices/pci_device.c
index 604a551..f65849e 100644
--- a/src/devices/pci_device.c
+++ b/src/devices/pci_device.c
@@ -654,7 +654,7 @@
* is set but CONFIG_PCI_ROM_RUN is not. In this case we skip
* all other option ROM types.
*/
- if (dev->class!=PCI_CLASS_DISPLAY_VGA)
+ if ((dev->class>>8)!=PCI_CLASS_DISPLAY_VGA)
return;
#endif
@@ -670,7 +670,7 @@
#if CONFIG_CONSOLE_VGA == 1
/* vga_inited is a trigger of the VGA console code. */
- if (dev->class == PCI_CLASS_DISPLAY_VGA) {
+ if ((dev->class>>8) == PCI_CLASS_DISPLAY_VGA) {
extern int vga_inited;
vga_inited = 1;
}