diff options
author | arch import user (historical) <svn@openbios.org> | 2005-07-06 17:16:09 +0000 |
---|---|---|
committer | arch import user (historical) <svn@openbios.org> | 2005-07-06 17:16:09 +0000 |
commit | dc811185703a1ee01964c938d428d66e96afb30b (patch) | |
tree | 08719fa9770d7c0182c68a0d7811a7abf030cff3 /src | |
parent | 785b1b6e994d4d6ffa78e84b9a0353d54ed201bb (diff) |
Revision: linuxbios@linuxbios.org--devel/freebios--devel--2.0--patch-44
Creator: Li-Ta Lo <ollie@lanl.gov>
Correct VGA support
Make the VGA support for both VGA and no VGA cases.
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1960 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'src')
-rw-r--r-- | src/console/vga_console.c | 6 | ||||
-rw-r--r-- | src/devices/device.c | 10 | ||||
-rw-r--r-- | src/devices/pci_rom.c | 6 |
3 files changed, 12 insertions, 10 deletions
diff --git a/src/console/vga_console.c b/src/console/vga_console.c index 31e29f8dbb..bdd56f3923 100644 --- a/src/console/vga_console.c +++ b/src/console/vga_console.c @@ -10,14 +10,16 @@ #include <pc80/vga.h> #include <console/console.h> -//extern void beep(int ms); - /* The video buffer, should be replaced by symbol in ldscript.ld */ static char *vidmem; int vga_line, vga_col; +#if CONFIG_CONSOLE_VGA == 1 extern int vga_inited; // it will be changed in pci_rom.c +#else +int vga_inited = 0; +#endif static int vga_console_inited = 0; diff --git a/src/devices/device.c b/src/devices/device.c index ba4a2f4901..d2c435fb72 100644 --- a/src/devices/device.c +++ b/src/devices/device.c @@ -363,6 +363,7 @@ void compute_allocate_resource( } + #if CONFIG_CONSOLE_VGA == 1 device_t vga_pri = 0; static void allocate_vga_resource(void) @@ -377,14 +378,13 @@ static void allocate_vga_resource(void) vga = 0; vga_onboard = 0; for (dev = all_devices; dev; dev = dev->next) { - if ( !dev->enabled ) continue; + if (!dev->enabled) continue; if (((dev->class >> 16) == PCI_BASE_CLASS_DISPLAY) && ((dev->class >> 8) != PCI_CLASS_DISPLAY_OTHER)) { if (!vga) { if (dev->on_mainboard) { vga_onboard = dev; - } - else { + } else { vga = dev; } } @@ -397,7 +397,8 @@ static void allocate_vga_resource(void) vga = vga_onboard; } - if (vga) { // vga is first add on card or the only onboard vga + if (vga) { + // vga is first add on card or the only onboard vga printk_debug("Allocating VGA resource %s\n", dev_path(vga)); vga->command |= (PCI_COMMAND_MEMORY | PCI_COMMAND_IO); vga_pri = vga; @@ -411,7 +412,6 @@ static void allocate_vga_resource(void) bus = (bus == bus->dev->bus)? 0 : bus->dev->bus; } } - #endif diff --git a/src/devices/pci_rom.c b/src/devices/pci_rom.c index e0a7138464..ac2e413cc0 100644 --- a/src/devices/pci_rom.c +++ b/src/devices/pci_rom.c @@ -53,7 +53,7 @@ struct rom_header * pci_rom_probe(struct device *dev) if (dev->class != ((rom_data->class_hi << 8) | rom_data->class_lo)) { printk_err("Class Code mismatch ROM %08x, dev %08x\n", (rom_data->class_hi << 8) | rom_data->class_lo, dev->class); -// return NULL; + //return NULL; } return rom_header; @@ -62,8 +62,8 @@ struct rom_header * pci_rom_probe(struct device *dev) static void *pci_ram_image_start = PCI_RAM_IMAGE_START; #if CONFIG_CONSOLE_VGA == 1 -int vga_inited = 0; // it will be used by vga_console -extern device_t vga_pri; // The only VGA +int vga_inited = 0; // used by vga_console.c +extern device_t vga_pri; // the primary vga device, defined in device.c #endif struct rom_header *pci_rom_load(struct device *dev, struct rom_header *rom_header) |