[OpenBIOS] [commit] r1217 - trunk/openbios-devel/drivers

repository service svn at openbios.org
Mon Aug 19 09:40:39 CEST 2013


Author: mcayland
Date: Mon Aug 19 09:40:38 2013
New Revision: 1217
URL: http://tracker.coreboot.org/trac/openbios/changeset/1217

Log:
vga: remove vga_vbe_init() and vga_vbe.c

Since the VBE initialisation is now done as part of the Forth driver, this can
now be completely removed. The tiny bit of code remaining for ROM detection is
moved into pci.c.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland at ilande.co.uk>

Deleted:
   trunk/openbios-devel/drivers/vga_vbe.c
Modified:
   trunk/openbios-devel/drivers/build.xml
   trunk/openbios-devel/drivers/pci.c

Modified: trunk/openbios-devel/drivers/build.xml
==============================================================================
--- trunk/openbios-devel/drivers/build.xml	Mon Aug 19 09:40:35 2013	(r1216)
+++ trunk/openbios-devel/drivers/build.xml	Mon Aug 19 09:40:38 2013	(r1217)
@@ -17,7 +17,6 @@
   <object source="obio.c"   condition="DRIVER_OBIO"/>
   <object source="vga_load_regs.c" condition="DRIVER_VGA"/>
   <object source="vga_set_mode.c" condition="DRIVER_VGA"/>
-  <object source="vga_vbe.c" condition="DRIVER_VGA"/>
   <object source="macio.c" condition="DRIVER_MACIO"/>
   <object source="pc_kbd.c" condition="DRIVER_PC_KBD"/>
   <object source="pc_serial.c" condition="DRIVER_PC_SERIAL"/>

Modified: trunk/openbios-devel/drivers/pci.c
==============================================================================
--- trunk/openbios-devel/drivers/pci.c	Mon Aug 19 09:40:35 2013	(r1216)
+++ trunk/openbios-devel/drivers/pci.c	Mon Aug 19 09:40:38 2013	(r1217)
@@ -805,15 +805,30 @@
 
 int vga_config_cb (const pci_config_t *config)
 {
-	if (config->assigned[0] != 0x00000000) {
-            vga_vbe_init(config->path,
-                         pci_bus_addr_to_host_addr(config->assigned[0] & ~0x0000000F),
-                         config->sizes[0],
-                         pci_bus_addr_to_host_addr(config->assigned[1] & ~0x0000000F),
-                         config->sizes[1]);
+        unsigned long rom;
+        uint32_t rom_size, size;
+        phandle_t ph;
 
-	    /* Currently we don't read FCode from the hardware but execute it directly */
-	    feval("['] vga-driver-fcode 2 cells + 1 byte-load");
+        if (config->assigned[0] != 0x00000000) {
+            setup_video();
+
+            rom = pci_bus_addr_to_host_addr(config->assigned[1] & ~0x0000000F);
+            rom_size = config->sizes[1];
+
+            ph = get_cur_dev();
+
+            if (rom_size >= 8) {
+                const char *p;
+
+                p = (const char *)rom;
+                if (p[0] == 'N' && p[1] == 'D' && p[2] == 'R' && p[3] == 'V') {
+                    size = *(uint32_t*)(p + 4);
+                    set_property(ph, "driver,AAPL,MacOS,PowerPC", p + 8, size);
+                }
+            }
+
+            /* Currently we don't read FCode from the hardware but execute it directly */
+            feval("['] vga-driver-fcode 2 cells + 1 byte-load");
 
 #ifdef CONFIG_MOL
 	    /* Install special words for Mac On Linux */



More information about the OpenBIOS mailing list