On 01/31/2007 05:53 PM, Peter Stuge wrote:
+#if CONFIG_PCI_ROM_RUN == 1 || CONFIG_CONSOLE_VGA=1
One or two = ? Which is it?
None.
Index: src/devices/pci_rom.c
===================================================================
--- src/devices/pci_rom.c (revision 2539)
+++ src/devices/pci_rom.c (working copy)
@@ -62,12 +62,9 @@ struct rom_header * pci_rom_probe(struct
static void *pci_ram_image_start = (void *)PCI_RAM_IMAGE_START;
-#if CONFIG_CONSOLE_VGA == 1
-extern int vga_inited; // defined in vga_console.c
-#if CONFIG_CONSOLE_VGA_MULTI == 0
+#if CONFIG_CONSOLE_VGA == 1 && CONFIG_CONSOLE_VGA_MULTI == 0
extern device_t vga_pri; // the primary vga device, defined in device.c
#endif
-#endif
struct rom_header *pci_rom_load(struct device *dev, struct rom_header *rom_header)
{
@@ -96,7 +93,6 @@ struct rom_header *pci_rom_load(struct d
printk_debug("copying VGA ROM Image from 0x%x to 0x%x, 0x%x bytes\n",
rom_header, PCI_VGA_RAM_IMAGE_START, rom_size);
memcpy(PCI_VGA_RAM_IMAGE_START, rom_header, rom_size);
- vga_inited = 1;
return (struct rom_header *) (PCI_VGA_RAM_IMAGE_START);
#endif
} else {
Index: src/devices/pci_device.c
===================================================================
--- src/devices/pci_device.c (revision 2539)
+++ src/devices/pci_device.c (working copy)
@@ -644,6 +644,22 @@ void pci_dev_init(struct device *dev)
return;
run_bios(dev, ram);
+#if CONFIG_CONSOLE_VGA==1
+ {
+ extern int vga_inited; // defined in vga_console.c
+ vga_inited|=dev->class==PCI_CLASS_DISPLAY_VGA;
+ }
+#endif
+#elif CONFIG_CONSOLE_VGA==1
+ extern int vga_inited; // defined in vga_console.c
+ struct rom_header* header;
+ if (dev->class!=PCI_CLASS_DISPLAY_VGA) return;
+ header=pci_rom_probe(dev);
+ if (header==NULL) return;
+ header=pci_rom_load(dev,header);
+ if (header==NULL) return;
+ run_bios(dev,header);
+ vga_inited=1;
#endif
}
--
linuxbios mailing list
[email protected]
http://www.openbios.org/mailman/listinfo/linuxbios