[OpenBIOS] r189 - in openbios-devel: arch/sparc32 drivers include/openbios

svn at openbios.org svn at openbios.org
Mon Jul 7 20:35:51 CEST 2008


Author: blueswirl
Date: 2008-07-07 20:35:51 +0200 (Mon, 07 Jul 2008)
New Revision: 189

Modified:
   openbios-devel/arch/sparc32/aoutload.c
   openbios-devel/arch/sparc32/boot.c
   openbios-devel/arch/sparc32/boot.h
   openbios-devel/arch/sparc32/build.xml
   openbios-devel/arch/sparc32/console.c
   openbios-devel/arch/sparc32/context.c
   openbios-devel/arch/sparc32/elfload.c
   openbios-devel/arch/sparc32/entry.S
   openbios-devel/arch/sparc32/forthload.c
   openbios-devel/arch/sparc32/init.fs
   openbios-devel/arch/sparc32/ldscript
   openbios-devel/arch/sparc32/lib.c
   openbios-devel/arch/sparc32/linux_load.c
   openbios-devel/arch/sparc32/loadfs.c
   openbios-devel/arch/sparc32/loadfs.h
   openbios-devel/arch/sparc32/multiboot.c
   openbios-devel/arch/sparc32/multiboot.h
   openbios-devel/arch/sparc32/openbios.c
   openbios-devel/arch/sparc32/openbios.h
   openbios-devel/arch/sparc32/openprom.h
   openbios-devel/arch/sparc32/romvec.c
   openbios-devel/arch/sparc32/switch.S
   openbios-devel/arch/sparc32/sys_info.c
   openbios-devel/arch/sparc32/tree.fs
   openbios-devel/arch/sparc32/vectors.S
   openbios-devel/arch/sparc32/wof.S
   openbios-devel/arch/sparc32/wuf.S
   openbios-devel/drivers/esp.c
   openbios-devel/drivers/iommu.c
   openbios-devel/drivers/obio.c
   openbios-devel/drivers/pgtsrmmu.h
   openbios-devel/drivers/sbus.c
   openbios-devel/include/openbios/drivers.h
Log:
Fix some Sparc32 compile warnings

Modified: openbios-devel/arch/sparc32/aoutload.c
===================================================================
--- openbios-devel/arch/sparc32/aoutload.c	2008-07-05 18:02:18 UTC (rev 188)
+++ openbios-devel/arch/sparc32/aoutload.c	2008-07-07 18:35:51 UTC (rev 189)
@@ -8,6 +8,7 @@
 #include "a.out.h"
 #include "sys_info.h"
 #include "loadfs.h"
+#include "boot.h"
 #define printf printk
 #define debug printk
 
@@ -84,7 +85,7 @@
 
     if (ehdr.a_text == 0x30800007)
 	ehdr.a_text=64*1024;
-    
+
     if (N_MAGIC(ehdr) == NMAGIC) {
         size = addr_fixup(N_DATADDR(ehdr)) + addr_fixup(ehdr.a_data);
     } else {
@@ -105,21 +106,21 @@
     file_seek(offset + N_TXTOFF(ehdr));
 
     if (N_MAGIC(ehdr) == NMAGIC) {
-        if (lfile_read(start, ehdr.a_text) != ehdr.a_text) {
+        if ((unsigned long)lfile_read((void *)start, ehdr.a_text) != ehdr.a_text) {
             printf("Can't read program text segment (size 0x%lx)\n", ehdr.a_text);
             goto out;
         }
-        if (lfile_read(start + N_DATADDR(ehdr), ehdr.a_data) != ehdr.a_data) {
+        if ((unsigned long)lfile_read((void *)(start + N_DATADDR(ehdr)), ehdr.a_data) != ehdr.a_data) {
             printf("Can't read program data segment (size 0x%lx)\n", ehdr.a_data);
             goto out;
         }
     } else {
-        if (lfile_read(start, size) != size) {
+        if ((unsigned long)lfile_read((void *)start, size) != size) {
             printf("Can't read program (size 0x%lx)\n", size);
             goto out;
         }
     }
-    
+
     debug("Loaded %lu bytes\n", size);
 
     debug("entry point is %#lx\n", start);
@@ -127,7 +128,7 @@
 
 #if 1
     {
-        int (*entry)(const void *romvec, int p2, int p3, int p4, int p5);
+        int (*entry)(const void *romvec_ptr, int p2, int p3, int p4, int p5);
 
         entry = (void *) addr_fixup(start);
         image_retval = entry(romvec, 0, 0, 0, 0);

Modified: openbios-devel/arch/sparc32/boot.c
===================================================================
--- openbios-devel/arch/sparc32/boot.c	2008-07-05 18:02:18 UTC (rev 188)
+++ openbios-devel/arch/sparc32/boot.c	2008-07-07 18:35:51 UTC (rev 189)
@@ -7,30 +7,23 @@
 #include "openbios/elfload.h"
 #include "openbios/nvram.h"
 #include "libc/diskio.h"
+#include "libc/vsprintf.h"
 #include "sys_info.h"
 #include "openprom.h"
+#include "boot.h"
 
-int elf_load(struct sys_info *, const char *filename, const char *cmdline, const void *romvec);
-int aout_load(struct sys_info *, const char *filename, const char *cmdline, const void *romvec);
-int linux_load(struct sys_info *, const char *filename, const char *cmdline, const void *romvec);
-
-void boot(void);
-
-struct sys_info sys_info;                                                       
+struct sys_info sys_info;
 uint32_t kernel_image;
 uint32_t kernel_size;
-uint32_t cmdline;
+uint32_t qemu_cmdline;
 uint32_t cmdline_size;
 char boot_device;
-extern unsigned int qemu_mem_size;
-void *init_openprom(unsigned long memsize);
-extern struct linux_arguments_v0 obp_arg;
 
 void boot(void)
 {
         char *path = pop_fstr_copy(), *param, *oldpath = path;
         char altpath[256];
-        int unit;
+        int unit = 0;
         const void *romvec;
 
 	if(!path) {
@@ -41,18 +34,15 @@
             fword("get-package-property");
             if (!POP()) {
                 path = pop_fstr_copy();
-                unit = 0;
             } else {
                 switch (boot_device) {
                 case 'a':
                     path = strdup("/obio/SUNW,fdtwo");
                     oldpath = "fd()";
-                    unit = 0;
                     break;
                 case 'c':
                     path = strdup("disk");
                     oldpath = "sd(0,0,0):d";
-                    unit = 0;
                     break;
                 default:
                 case 'd':
@@ -66,7 +56,6 @@
                 case 'n':
                     path = strdup("net");
                     oldpath = "le()";
-                    unit = 0;
                     break;
                 }
             }
@@ -78,14 +67,14 @@
         obp_arg.boot_dev[0] = oldpath[0];
         obp_arg.boot_dev[1] = oldpath[1];
         obp_arg.argv[0] = oldpath;
-        obp_arg.argv[1] = cmdline;
+        obp_arg.argv[1] = (void *)(long)qemu_cmdline;
 
 	param = strchr(path, ' ');
 	if(param) {
 		*param = '\0';
 		param++;
 	} else if (cmdline_size) {
-            param = (char *)cmdline;
+            param = (char *)qemu_cmdline;
         } else {
             push_str("boot-args");
             push_str("/options");
@@ -100,7 +89,7 @@
         romvec = init_openprom(qemu_mem_size);
 
         if (kernel_size) {
-            int (*entry)(const void *romvec, int p2, int p3, int p4, int p5);
+            int (*entry)(const void *romvec_ptr, int p2, int p3, int p4, int p5);
 
             printk("[sparc] Kernel already loaded\n");
             entry = (void *) kernel_image;
@@ -108,7 +97,7 @@
         }
 
 	printk("[sparc] Booting file '%s' ", path);
-	if(param) 
+	if (param)
 		printk("with parameters '%s'\n", param);
 	else
 		printk("without parameters.\n");

Modified: openbios-devel/arch/sparc32/boot.h
===================================================================
--- openbios-devel/arch/sparc32/boot.h	2008-07-05 18:02:18 UTC (rev 188)
+++ openbios-devel/arch/sparc32/boot.h	2008-07-07 18:35:51 UTC (rev 189)
@@ -15,3 +15,16 @@
                const void *romvec);
 
 unsigned int start_elf(unsigned long entry_point, unsigned long param);
+
+void *init_openprom(unsigned long memsize);
+void boot(void);
+
+extern struct sys_info sys_info;
+extern uint32_t kernel_image;
+extern uint32_t kernel_size;
+extern uint32_t qemu_cmdline;
+extern uint32_t cmdline_size;
+extern char boot_device;
+extern unsigned int qemu_mem_size;
+extern struct linux_arguments_v0 obp_arg;
+extern int qemu_machine_type;

Modified: openbios-devel/arch/sparc32/build.xml
===================================================================
--- openbios-devel/arch/sparc32/build.xml	2008-07-05 18:02:18 UTC (rev 188)
+++ openbios-devel/arch/sparc32/build.xml	2008-07-07 18:35:51 UTC (rev 189)
@@ -21,7 +21,7 @@
   <object source="loadfs.c"/>
   <object source="romvec.c"/>
  </library>
- 
+
  <executable name="target/arch/sparc32/entry.o" target="target">
   <rule><![CDATA[
 	$(CC) $$EXTRACFLAGS $(CFLAGS) $(INCLUDES) -c -o $@ arch/sparc32/entry.S
@@ -53,7 +53,7 @@
  </executable>
 
  <!-- HACK ALERT -->
- 
+
  <executable name="target/include/static-dict.h" target="target" condition="IMAGE_ELF_EMBEDDED">
   <rule><![CDATA[
 	@echo "static const char forth_dictionary[] = {" > $@
@@ -63,14 +63,14 @@
   ]]></rule>
   <external-object source="openbios-sparc32.dict"/>
  </executable>
- 
+
  <executable name="target/arch/sparc32/builtin.o" target="target" condition="IMAGE_ELF_EMBEDDED">
   <rule><![CDATA[
 	$(CC) $$EXTRACFLAGS $(CFLAGS) $(INCLUDES) -c -o $@ arch/sparc32/builtin.c
   ]]></rule>
   <external-object source="target/include/static-dict.h"/>
  </executable>
- 
+
  <!-- END OF HACK ALERT -->
 
  <executable name="openbios-builtin.elf" target="target" condition="IMAGE_ELF_EMBEDDED">
@@ -91,5 +91,5 @@
   <external-object source="libfs.a"/>
   <external-object source="libgcc.a"/>
  </executable>
- 
+
 </build>

Modified: openbios-devel/arch/sparc32/console.c
===================================================================
--- openbios-devel/arch/sparc32/console.c	2008-07-05 18:02:18 UTC (rev 188)
+++ openbios-devel/arch/sparc32/console.c	2008-07-07 18:35:51 UTC (rev 189)
@@ -7,6 +7,7 @@
 
 #include "openbios/config.h"
 #include "openbios/kernel.h"
+#include "openbios/drivers.h"
 #include "openbios.h"
 
 #ifdef CONFIG_DEBUG_CONSOLE
@@ -148,13 +149,13 @@
 	int             rb, w, h, depth;
 } osi_fb_info_t;
 
-int TCX_GetFBInfo( osi_fb_info_t *fb )
+static int TCX_GetFBInfo( osi_fb_info_t *fb )
 {
     fb->w = 1024;
     fb->h = 768;
     fb->depth = 8;
     fb->rb = 1024;
-    fb->mphys = vmem;
+    fb->mphys = (unsigned long)vmem;
 
     return 0;
 }

Modified: openbios-devel/arch/sparc32/context.c
===================================================================
--- openbios-devel/arch/sparc32/context.c	2008-07-05 18:02:18 UTC (rev 188)
+++ openbios-devel/arch/sparc32/context.c	2008-07-07 18:35:51 UTC (rev 189)
@@ -6,6 +6,8 @@
 #include "openbios/config.h"
 #include "openbios/kernel.h"
 #include "context.h"
+#include "sys_info.h"
+#include "boot.h"
 
 #define MAIN_STACK_SIZE 16384
 #define IMAGE_STACK_SIZE 4096
@@ -16,7 +18,7 @@
 void __exit_context(void); /* assembly routine */
 
 /*
- * Main context structure 
+ * Main context structure
  * It is placed at the bottom of our stack, and loaded by assembly routine
  * to start us up.
  */
@@ -93,7 +95,7 @@
 }
 
 /* Start ELF Boot image */
-uint32_t start_elf(uint32_t entry_point, uint32_t param)
+unsigned int start_elf(unsigned long entry_point, unsigned long param)
 {
     struct context *ctx;
 

Modified: openbios-devel/arch/sparc32/elfload.c
===================================================================
--- openbios-devel/arch/sparc32/elfload.c	2008-07-05 18:02:18 UTC (rev 188)
+++ openbios-devel/arch/sparc32/elfload.c	2008-07-07 18:35:51 UTC (rev 189)
@@ -11,10 +11,10 @@
 #include "sys_info.h"
 #include "ipchecksum.h"
 #include "loadfs.h"
+#include "boot.h"
 #define printf printk
 #define debug printk
 
-extern unsigned int start_elf(unsigned long entry_point, unsigned long param);
 #define addr_fixup(addr) ((addr) & 0x00ffffff)
 
 static char *image_name, *image_version;
@@ -92,7 +92,7 @@
 	    continue;
 	buf = malloc(phdr[i].p_filesz);
 	file_seek(offset + phdr[i].p_offset);
-	if (lfile_read(buf, phdr[i].p_filesz) != phdr[i].p_filesz) {
+	if ((uint32_t)lfile_read(buf, phdr[i].p_filesz) != phdr[i].p_filesz) {
 	    printf("Can't read note segment\n");
 	    goto out;
 	}
@@ -150,14 +150,14 @@
               i, addr_fixup(phdr[i].p_paddr), phdr[i].p_filesz, phdr[i].p_memsz);
 	file_seek(offset + phdr[i].p_offset);
 	debug("loading... ");
-	if (lfile_read(phys_to_virt(addr_fixup(phdr[i].p_paddr)), phdr[i].p_filesz)
+	if ((uint32_t)lfile_read(phys_to_virt(addr_fixup(phdr[i].p_paddr)), phdr[i].p_filesz)
 		!= phdr[i].p_filesz) {
 	    printf("Can't read program segment %d\n", i);
 	    return 0;
 	}
 	bytes += phdr[i].p_filesz;
 	debug("clearing... ");
-	memset(phys_to_virt(addr_fixup(phdr[i].p_paddr) + phdr[i].p_filesz), 0, 
+	memset(phys_to_virt(addr_fixup(phdr[i].p_paddr) + phdr[i].p_filesz), 0,
 		phdr[i].p_memsz - phdr[i].p_filesz);
 	if (phdr[i].p_offset <= checksum_offset
 		&& phdr[i].p_offset + phdr[i].p_filesz >= checksum_offset+2) {
@@ -352,7 +352,7 @@
     phdr_size = ehdr.e_phnum * sizeof *phdr;
     phdr = malloc(phdr_size);
     file_seek(offset + ehdr.e_phoff);
-    if (lfile_read(phdr, phdr_size) != phdr_size) {
+    if ((uint32_t)lfile_read(phdr, phdr_size) != phdr_size) {
 	printf("Can't read program header\n");
 	goto out;
     }
@@ -369,7 +369,7 @@
 
     if (!load_segments(phdr, ehdr.e_phnum, checksum_offset, offset))
 	goto out;
-    
+
     if (checksum_offset) {
 	if (!verify_image(&ehdr, phdr, ehdr.e_phnum, checksum))
 	    goto out;
@@ -384,7 +384,7 @@
 
 #if 1
     {
-        int (*entry)(const void *romvec, int p2, int p3, int p4, int p5);
+        int (*entry)(const void *romvec_ptr, int p2, int p3, int p4, int p5);
 
         entry = (void *) addr_fixup(ehdr.e_entry);
         image_retval = entry(romvec, 0, 0, 0, 0);

Modified: openbios-devel/arch/sparc32/entry.S
===================================================================
--- openbios-devel/arch/sparc32/entry.S	2008-07-05 18:02:18 UTC (rev 188)
+++ openbios-devel/arch/sparc32/entry.S	2008-07-07 18:35:51 UTC (rev 189)
@@ -120,7 +120,7 @@
         lduba   [%g1] ASI_M_CTL, %g2
         cmp     %g2, 'U'
         bne     ss2
-        
+
         ! Ok, this is SS-10 or SS-600MP
         set     PHYS_SS10_EEPROM + SPARC_MACHINE_ID, %g1
         lduba   [%g1] ASI_M_CTL, %g2
@@ -359,7 +359,7 @@
 
         set     qemu_mem_size, %g1
         st      %g6, [%g1]
-        
+
         sll     %g7, 4, %g7                     ! Store va->pa conversion factor
         set     _start - 0x1000, %g1
         sub     %g1, %g7, %g7
@@ -369,7 +369,7 @@
         set     qemu_machine_type, %g1
         mov     %y, %g2
         st      %g2, [%g1]
-        
+
         /* Finally, turn on traps so that we can call c-code. */
         rd	%psr, %g3
         wr	%g3, 0x0, %psr

Modified: openbios-devel/arch/sparc32/forthload.c
===================================================================
--- openbios-devel/arch/sparc32/forthload.c	2008-07-05 18:02:18 UTC (rev 188)
+++ openbios-devel/arch/sparc32/forthload.c	2008-07-07 18:35:51 UTC (rev 189)
@@ -38,10 +38,10 @@
     }
 
     forthsize = file_size();
-    
+
     forthtext = malloc(forthsize+1);
     file_seek(0);
-    
+
     printk("Loading forth source ...");
     if ((unsigned long)lfile_read(forthtext, forthsize) != forthsize) {
 	printk("Can't read forth text\n");

Modified: openbios-devel/arch/sparc32/init.fs
===================================================================
--- openbios-devel/arch/sparc32/init.fs	2008-07-05 18:02:18 UTC (rev 188)
+++ openbios-devel/arch/sparc32/init.fs	2008-07-07 18:35:51 UTC (rev 189)
@@ -1,4 +1,4 @@
-:noname 
+:noname
   ."   Type 'help' for detailed information" cr
   \ ."   boot secondary slave cdrom: " cr
   \ ."    0 >  boot hd:2,\boot\vmlinuz root=/dev/hda2" cr
@@ -16,7 +16,7 @@
 
 : preopen ( chosen-str node-path )
   2dup make-openable
-    
+
   " /chosen" find-device
   open-dev ?dup if
     encode-int 2swap property
@@ -24,7 +24,7 @@
     2drop
   then
 ;
- 
+
 :noname
   set-defaults
 ; PREPOST-initializer
@@ -45,11 +45,11 @@
     " /builtin/console" " output-device" $setenv
   then
 ; SYSTEM-initializer
-	    
+
 :noname
   " keyboard" input
 ; CONSOLE-IN-initializer
- 
+
 device-end
 
 : rmap@    ( virt -- rmentry )

Modified: openbios-devel/arch/sparc32/ldscript
===================================================================
--- openbios-devel/arch/sparc32/ldscript	2008-07-05 18:02:18 UTC (rev 188)
+++ openbios-devel/arch/sparc32/ldscript	2008-07-07 18:35:51 UTC (rev 189)
@@ -20,7 +20,7 @@
 {
     . = BASE_ADDR;
 
-    /* Start of the program. 
+    /* Start of the program.
      * Now the version string is in the note, we must include it
      * in the program. Otherwise we lose the string after relocation. */
     _start = .;

Modified: openbios-devel/arch/sparc32/lib.c
===================================================================
--- openbios-devel/arch/sparc32/lib.c	2008-07-05 18:02:18 UTC (rev 188)
+++ openbios-devel/arch/sparc32/lib.c	2008-07-07 18:35:51 UTC (rev 189)
@@ -15,7 +15,7 @@
 #include "openbios/kernel.h"
 
 /* Format a string and print it on the screen, just like the libc
- * function printf. 
+ * function printf.
  */
 int printk( const char *fmt, ... )
 {
@@ -92,12 +92,13 @@
                 if (size > ALLOC_BLOCK)
                     alloc_size = size;
                 // Recover possible leftover
-                if (ofmem.left > sizeof(alloc_desc_t) + 4) {
-                    alloc_desc_t *d;
+                if ((size_t)ofmem.left > sizeof(alloc_desc_t) + 4) {
+                    alloc_desc_t *d_leftover;
 
-                    d = (alloc_desc_t*)ofmem.next_malloc;
-                    d->size = ofmem.left - sizeof(alloc_desc_t);
-                    free((unsigned long)d + sizeof(alloc_desc_t));
+                    d_leftover = (alloc_desc_t*)ofmem.next_malloc;
+                    d_leftover->size = ofmem.left - sizeof(alloc_desc_t);
+                    free((void *)((unsigned long)d_leftover +
+                                  sizeof(alloc_desc_t)));
                 }
 
                 ofmem.next_malloc = mem_alloc(&cmem, alloc_size, 4);

Modified: openbios-devel/arch/sparc32/linux_load.c
===================================================================
--- openbios-devel/arch/sparc32/linux_load.c	2008-07-05 18:02:18 UTC (rev 188)
+++ openbios-devel/arch/sparc32/linux_load.c	2008-07-07 18:35:51 UTC (rev 189)
@@ -14,6 +14,7 @@
 #include "sys_info.h"
 #include "context.h"
 #include "loadfs.h"
+#include "boot.h"
 
 #define printf printk
 #define debug printk
@@ -424,7 +425,7 @@
 #endif
 
     printf("Loading kernel... ");
-    if (lfile_read(phys_to_virt(kern_addr), kern_size) != kern_size) {
+    if ((uint32_t)lfile_read(phys_to_virt(kern_addr), kern_size) != kern_size) {
 	printf("Can't read kernel\n");
 	return 0;
     }
@@ -462,7 +463,7 @@
 	max = hdr->initrd_addr_max;
     else
 	max = 0x38000000; /* Hardcoded value for older kernels */
-    
+
     /* FILO itself is at the top of RAM. (relocated)
      * So, try putting initrd just below us. */
     end = virt_to_phys(_start);
@@ -497,7 +498,7 @@
     }
 
     printf("Loading initrd... ");
-    if (lfile_read(phys_to_virt(start), size) != size) {
+    if ((uint32_t)lfile_read(phys_to_virt(start), size) != size) {
 	printf("Can't read initrd\n");
 	return -1;
     }
@@ -518,9 +519,9 @@
     outb(0, 0xf0);
     outb(0, 0xf1);
 
-    /* we're getting screwed again and again by this problem of the 8259. 
-     * so we're going to leave this lying around for inclusion into 
-     * crt0.S on an as-needed basis. 
+    /* we're getting screwed again and again by this problem of the 8259.
+     * so we're going to leave this lying around for inclusion into
+     * crt0.S on an as-needed basis.
      *
      * well, that went ok, I hope. Now we have to reprogram the interrupts :-(
      * we put them right after the intel-reserved hardware interrupts, at
@@ -568,7 +569,7 @@
     params->orig_x = cursor_x;
     params->orig_y = cursor_y;
 #endif
-    
+
     /* Go... */
     ctx = switch_to(ctx);
 

Modified: openbios-devel/arch/sparc32/loadfs.c
===================================================================
--- openbios-devel/arch/sparc32/loadfs.c	2008-07-05 18:02:18 UTC (rev 188)
+++ openbios-devel/arch/sparc32/loadfs.c	2008-07-07 18:35:51 UTC (rev 189)
@@ -15,7 +15,7 @@
 
 void file_close(void)
 {
-	if(load_fd==-1) 
+	if(load_fd==-1)
 		return;
 	
 	close_io(load_fd);

Modified: openbios-devel/arch/sparc32/loadfs.h
===================================================================
--- openbios-devel/arch/sparc32/loadfs.h	2008-07-05 18:02:18 UTC (rev 188)
+++ openbios-devel/arch/sparc32/loadfs.h	2008-07-07 18:35:51 UTC (rev 189)
@@ -2,6 +2,4 @@
 int lfile_read(void *buf, unsigned long len);
 int file_seek(unsigned long offset);
 unsigned long file_size(void);
-
-
-
+void file_close(void);

Modified: openbios-devel/arch/sparc32/multiboot.c
===================================================================
--- openbios-devel/arch/sparc32/multiboot.c	2008-07-05 18:02:18 UTC (rev 188)
+++ openbios-devel/arch/sparc32/multiboot.c	2008-07-07 18:35:51 UTC (rev 189)
@@ -1,6 +1,6 @@
 /* Support for Multiboot */
 
-#include "openbios/config.h" 
+#include "openbios/config.h"
 #include "asm/io.h"
 #include "sys_info.h"
 #include "multiboot.h"
@@ -9,7 +9,7 @@
 #ifdef CONFIG_DEBUG_BOOT
 #define debug printk
 #else
-#define debug(x...) 
+#define debug(x...)
 #endif
 
 struct mbheader {
@@ -62,11 +62,11 @@
 	    printf("Multiboot: no dictionary\n");
 	    return;
     }
-   
+
     mod = (module_t *) mbinfo->mods_addr;
     info->dict_start=(unsigned long *)mod->mod_start;
     info->dict_end=(unsigned long *)mod->mod_end;
-   
+
     if (mbinfo->flags & MULTIBOOT_MMAP_VALID) {
 	/* convert mmap records */
 	mbmem = phys_to_virt(mbinfo->mmap_addr);

Modified: openbios-devel/arch/sparc32/multiboot.h
===================================================================
--- openbios-devel/arch/sparc32/multiboot.h	2008-07-05 18:02:18 UTC (rev 188)
+++ openbios-devel/arch/sparc32/multiboot.h	2008-07-07 18:35:51 UTC (rev 189)
@@ -1,5 +1,5 @@
-/* multiboot.h 
- * tag: header for multiboot 
+/* multiboot.h
+ * tag: header for multiboot
  *
  * Copyright (C) 2003-2004 Stefan Reinauer
  *

Modified: openbios-devel/arch/sparc32/openbios.c
===================================================================
--- openbios-devel/arch/sparc32/openbios.c	2008-07-05 18:02:18 UTC (rev 188)
+++ openbios-devel/arch/sparc32/openbios.c	2008-07-07 18:35:51 UTC (rev 189)
@@ -13,14 +13,11 @@
 #include "dict.h"
 #include "openbios/kernel.h"
 #include "openbios/stack.h"
+#include "openbios/nvram.h"
 #include "sys_info.h"
 #include "openbios.h"
+#include "boot.h"
 
-void boot(void);
-void ob_ide_init(void);
-void tcx_init(uint64_t base);
-void kbd_init(uint64_t base);
-
 int qemu_machine_type;
 
 struct hwdef {
@@ -97,7 +94,7 @@
 {
 
 	/* push start and end of available memory to the stack
-	 * so that the forth word QUIT can initialize memory 
+	 * so that the forth word QUIT can initialize memory
 	 * management. For now we use hardcoded memory between
 	 * 0x10000 and 0x9ffff (576k). If we need more memory
 	 * than that we have serious bloat.
@@ -133,8 +130,6 @@
 
 int openbios(void)
 {
-	extern struct sys_info sys_info;
-        extern struct mem cmem;
         unsigned int i;
 
         for (i = 0; i < sizeof(hwdefs) / sizeof(struct hwdef); i++) {
@@ -164,10 +159,10 @@
 #endif
 
         collect_sys_info(&sys_info);
-	
+
 	dict=intdict;
 	load_dictionary((char *)sys_info.dict_start,
-			(unsigned long)sys_info.dict_end 
+			(unsigned long)sys_info.dict_end
                         - (unsigned long)sys_info.dict_start);
 	
 #ifdef CONFIG_DEBUG_BOOT
@@ -183,7 +178,7 @@
 
 	PUSH_xt( bind_noname_func(arch_init) );
 	fword("PREPOST-initializer");
-	
+
 	PC = (ucell)findword("initialize-of");
 
 	if (!PC) {

Modified: openbios-devel/arch/sparc32/openbios.h
===================================================================
--- openbios-devel/arch/sparc32/openbios.h	2008-07-05 18:02:18 UTC (rev 188)
+++ openbios-devel/arch/sparc32/openbios.h	2008-07-07 18:35:51 UTC (rev 189)
@@ -1,17 +1,17 @@
-/* 
+/*
  *   Creation Date: <2004/01/15 16:14:05 samuel>
  *   Time-stamp: <2004/01/15 16:14:05 samuel>
- *   
+ *
  *	<openbios.h>
- *	
- *	
- *   
+ *
+ *
+ *
  *   Copyright (C) 2004 Samuel Rydh (samuel at ibrium.se)
- *   
+ *
  *   This program is free software; you can redistribute it and/or
  *   modify it under the terms of the GNU General Public License
  *   version 2
- *   
+ *
  */
 
 #ifndef _H_OPENBIOS

Modified: openbios-devel/arch/sparc32/openprom.h
===================================================================
--- openbios-devel/arch/sparc32/openprom.h	2008-07-05 18:02:18 UTC (rev 188)
+++ openbios-devel/arch/sparc32/openprom.h	2008-07-07 18:35:51 UTC (rev 189)
@@ -205,7 +205,7 @@
 
 /* Ranges and reg properties are a bit different for PCI. */
 struct linux_prom_pci_registers {
-	/* 
+	/*
 	 * We don't know what information this field contain.
 	 * We guess, PCI device function is in bits 15:8
 	 * So, ...

Modified: openbios-devel/arch/sparc32/romvec.c
===================================================================
--- openbios-devel/arch/sparc32/romvec.c	2008-07-05 18:02:18 UTC (rev 188)
+++ openbios-devel/arch/sparc32/romvec.c	2008-07-07 18:35:51 UTC (rev 189)
@@ -14,8 +14,11 @@
 #include "libc/vsprintf.h"
 #include "openbios/config.h"
 #include "openbios/bindings.h"
+#include "openbios/drivers.h"
 #include "openbios/kernel.h"
 #include "openbios/sysinclude.h"
+#include "sys_info.h"
+#include "boot.h"
 
 #ifdef CONFIG_DEBUG_OBP
 #define DPRINTF(fmt, args...)                   \
@@ -178,7 +181,7 @@
             int i;
             DPRINTF("obp_getprop(0x%x, %s) = ", node, name);
             for (i = 0; i < len; i++) {
-                DPRINTF("%02x%s", str[i] & 0xFF, 
+                DPRINTF("%02x%s", str[i] & 0xFF,
                         (len == 4 || i == len-1) ? "" : " ");
             }
             DPRINTF("\n");
@@ -210,7 +213,7 @@
     } else {
         int len;
         char *str;
-            
+
         len = POP();
         str = (char *) POP();
 
@@ -437,7 +440,7 @@
     // ROM.
 
     if (va == NULL) {
-        va = next_free_address - size;
+        va = (char *)(next_free_address - size);
         next_free_address -= size;
         DPRINTF("obp_dumb_memalloc req null -> 0x%x\n", va);
     }
@@ -447,9 +450,6 @@
     return va;
 }
 
-extern int start_cpu(unsigned int pc, unsigned int context_ptr,
-                      unsigned int context, int cpu);
-
 static int obp_cpustart(__attribute__((unused))unsigned int whichcpu,
                         __attribute__((unused))int ctxtbl_ptr,
                         __attribute__((unused))int thiscontext,
@@ -497,7 +497,7 @@
   // don't get a stack underrun.
   //
   // FIXME: find out why solaris doesnt put its stuff on the stack
-  // 
+  //
   fword("0");
   fword("0");
 

Modified: openbios-devel/arch/sparc32/switch.S
===================================================================
--- openbios-devel/arch/sparc32/switch.S	2008-07-05 18:02:18 UTC (rev 188)
+++ openbios-devel/arch/sparc32/switch.S	2008-07-07 18:35:51 UTC (rev 189)
@@ -14,7 +14,7 @@
  * switches the stack, and restores everything from the new stack.
  * This function takes no argument. New stack pointer is
  * taken from global variable __context, and old stack pointer
- * is also saved to __context. This way we can just jump to 
+ * is also saved to __context. This way we can just jump to
  * this routine to get back to the original context.
  */
 
@@ -104,7 +104,7 @@
         ld      [%g1 + 116], %i5
         ld      [%g1 + 120], %i6
         ld      [%g1 + 124], %i7
-        
+
         ld      [%g1 + 128], %g1
        	/* Finally, load new %pc */
         jmp     %g1

Modified: openbios-devel/arch/sparc32/sys_info.c
===================================================================
--- openbios-devel/arch/sparc32/sys_info.c	2008-07-05 18:02:18 UTC (rev 188)
+++ openbios-devel/arch/sparc32/sys_info.c	2008-07-07 18:35:51 UTC (rev 189)
@@ -8,7 +8,7 @@
 #ifdef CONFIG_DEBUG_BOOT
 #define debug printk
 #else
-#define debug(x...) 
+#define debug(x...)
 #endif
 
 unsigned int qemu_mem_size;

Modified: openbios-devel/arch/sparc32/tree.fs
===================================================================
--- openbios-devel/arch/sparc32/tree.fs	2008-07-05 18:02:18 UTC (rev 188)
+++ openbios-devel/arch/sparc32/tree.fs	2008-07-07 18:35:51 UTC (rev 189)
@@ -5,7 +5,7 @@
 
   " sun4m" encode-string " compatible" property
   h# 0a21fe80 encode-int " clock-frequency" property
-  
+
   : encode-unit encode-unit-sbus ;
   : decode-unit decode-unit-sbus ;
 

Modified: openbios-devel/arch/sparc32/vectors.S
===================================================================
--- openbios-devel/arch/sparc32/vectors.S	2008-07-05 18:02:18 UTC (rev 188)
+++ openbios-devel/arch/sparc32/vectors.S	2008-07-07 18:35:51 UTC (rev 189)
@@ -4,7 +4,7 @@
  * Sparc V9 Trap Table(s) with SpitFire/Cheetah extensions.
  *
  *   Copyright (C) 1996, 2001 David S. Miller (davem at caip.rutgers.edu)
- * 
+ *
  *   This program is free software; you can redistribute it and/or
  *   modify it under the terms of the GNU General Public License
  *   version 2 as published by the Free Software Foundation.
@@ -13,7 +13,7 @@
  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *   GNU General Public License for more details.
- * 
+ *
  *   You should have received a copy of the GNU General Public License
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,

Modified: openbios-devel/arch/sparc32/wof.S
===================================================================
--- openbios-devel/arch/sparc32/wof.S	2008-07-05 18:02:18 UTC (rev 188)
+++ openbios-devel/arch/sparc32/wof.S	2008-07-07 18:35:51 UTC (rev 189)
@@ -3,7 +3,7 @@
  * because we have no user windows.
  *
  *   Copyright (C) 1995 David S. Miller (davem at caip.rutgers.edu)
- *   
+ *
  *   This program is free software; you can redistribute it and/or
  *   modify it under the terms of the GNU General Public License
  *   version 2 as published by the Free Software Foundation.
@@ -12,7 +12,7 @@
  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *   GNU General Public License for more details.
- * 
+ *
  *   You should have received a copy of the GNU General Public License
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
@@ -96,7 +96,7 @@
 	 * nop
 	 */
 
-	.globl	spill_window_entry 
+	.globl	spill_window_entry
 	.globl	spnwin_patch1, spnwin_patch2
 spill_window_entry:
 	/* LOCATION: Trap Window */

Modified: openbios-devel/arch/sparc32/wuf.S
===================================================================
--- openbios-devel/arch/sparc32/wuf.S	2008-07-05 18:02:18 UTC (rev 188)
+++ openbios-devel/arch/sparc32/wuf.S	2008-07-07 18:35:51 UTC (rev 189)
@@ -11,7 +11,7 @@
  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *   GNU General Public License for more details.
- * 
+ *
  *   You should have received a copy of the GNU General Public License
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,

Modified: openbios-devel/drivers/esp.c
===================================================================
--- openbios-devel/drivers/esp.c	2008-07-05 18:02:18 UTC (rev 188)
+++ openbios-devel/drivers/esp.c	2008-07-07 18:35:51 UTC (rev 189)
@@ -1,6 +1,6 @@
 /*
  *   OpenBIOS ESP driver
- *   
+ *
  *   Copyright (C) 2004 Jens Axboe <axboe at suse.de>
  *   Copyright (C) 2005 Stefan Reinauer <stepan at openbios.org>
  *
@@ -122,7 +122,7 @@
     if ((status & ESP_STAT_TCNT) != ESP_STAT_TCNT
         || (status & ESP_STAT_PMASK) == ESP_STATP)
         return status;
-    
+
     // Get reply
     // Set DMA address
     esp->espdma.regs->st_addr = esp->buffer_dvma;
@@ -211,7 +211,7 @@
     }
     sd->present = 1;
     sd->media = esp->buffer[0];
-    
+
     switch (sd->media) {
     case TYPE_DISK:
         media = "disk";
@@ -271,7 +271,7 @@
     phandle_t ph;
 
     fword("my-unit");
-    id = POP(); 
+    id = POP();
     //POP(); // unit id is 2 ints but we only need one.
     *sd = &global_esp->sd[id];
 
@@ -463,7 +463,7 @@
 
     // Chip reset
     esp->ll->regs[ESP_CMD] = ESP_CMD_RC;
-    
+
     DPRINTF("ESP at 0x%lx, buffer va 0x%lx dva 0x%lx\n", (unsigned long)esp,
             (unsigned long)esp->buffer, (unsigned long)esp->buffer_dvma);
     DPRINTF("done\n");

Modified: openbios-devel/drivers/iommu.c
===================================================================
--- openbios-devel/drivers/iommu.c	2008-07-05 18:02:18 UTC (rev 188)
+++ openbios-devel/drivers/iommu.c	2008-07-07 18:35:51 UTC (rev 189)
@@ -92,7 +92,7 @@
     pa = va2pa((unsigned long)t->curp) + (align - 1);
     pa &= ~(align - 1);
     p = (char *)pa2va(pa);
-    
+
     if ((unsigned long)p >= (unsigned long)t->uplim ||
         (unsigned long)p + size > (unsigned long)t->uplim)
         return 0;

Modified: openbios-devel/drivers/obio.c
===================================================================
--- openbios-devel/drivers/obio.c	2008-07-05 18:02:18 UTC (rev 188)
+++ openbios-devel/drivers/obio.c	2008-07-07 18:35:51 UTC (rev 189)
@@ -1,9 +1,9 @@
 /*
  *   OpenBIOS Sparc OBIO driver
- *   
+ *
  *   (C) 2004 Stefan Reinauer <stepan at openbios.org>
  *   (C) 2005 Ed Schouten <ed at fxq.nl>
- * 
+ *
  *   This program is free software; you can redistribute it and/or
  *   modify it under the terms of the GNU General Public License
  *   version 2
@@ -19,6 +19,7 @@
 #include "openbios/drivers.h"
 #include "openbios/nvram.h"
 #include "obio.h"
+#define cpu_to_be16(x) __cpu_to_be16(x)
 #include "openbios/firmware_abi.h"
 
 #define REGISTER_NAMED_NODE( name, path )   do { \
@@ -50,7 +51,7 @@
  * mapped memory.
  */
 #define OBIO_CMDLINE_MAX 256
-char obio_cmdline[OBIO_CMDLINE_MAX];
+static char obio_cmdline[OBIO_CMDLINE_MAX];
 
 /* DECLARE data structures for the nodes.  */
 DECLARE_UNNAMED_NODE( ob_obio, INSTALL_OPEN, sizeof(int) );
@@ -171,12 +172,9 @@
     }
 }
 
-int keyboard_dataready(void);
-unsigned char keyboard_readdata(void);
-
 /* ( addr len -- actual ) */
 static void
-zs_read_keyboard(unsigned long *address)
+zs_read_keyboard(void)
 {
     unsigned char *addr;
     int len;
@@ -314,7 +312,7 @@
     push_str("width");
     fword("property");
 
-    regs = map_reg(ECC_BASE, 0, ECC_SIZE, 1, ECC_BASE >> 32);
+    regs = (uint32_t *)map_reg(ECC_BASE, 0, ECC_SIZE, 1, ECC_BASE >> 32);
 
     version = regs[0];
     switch (version) {
@@ -723,7 +721,7 @@
 {
     extern uint32_t kernel_image;
     extern uint32_t kernel_size;
-    extern uint32_t cmdline;
+    extern uint32_t qemu_cmdline;
     extern uint32_t cmdline_size;
     extern char boot_device;
     extern char obp_stdin, obp_stdout;
@@ -735,7 +733,7 @@
     char nographic;
     uint32_t size;
     unsigned int machine_id;
-    struct cpudef *cpu;
+    const struct cpudef *cpu;
     ohwcfg_v3_t *header;
 
     ob_new_obio_device("eeprom", NULL);
@@ -746,7 +744,7 @@
     fword("encode-int");
     push_str("address");
     fword("property");
-    
+
     memcpy(&nv_info, nvram, sizeof(nv_info));
     machine_id = (unsigned int)nvram[0x1fd9] & 0xff;
     printk("Nvram id %s, version %d, machine id 0x%2.2x\n",
@@ -763,9 +761,9 @@
     size = nv_info.cmdline_size;
     if (size > OBIO_CMDLINE_MAX - 1)
         size = OBIO_CMDLINE_MAX - 1;
-    memcpy(obio_cmdline, nv_info.cmdline, size);
+    memcpy(&obio_cmdline, (void *)(long)nv_info.cmdline, size);
     obio_cmdline[size] = '\0';
-    cmdline = obio_cmdline;
+    qemu_cmdline = (uint32_t) &obio_cmdline;
     cmdline_size = size;
     header = (ohwcfg_v3_t *)nvram;
     header->kernel_image = 0;
@@ -785,7 +783,7 @@
     // Add /idprom
     push_str("/");
     fword("find-device");
-    
+
     PUSH((long)&nvram[NVRAM_IDPROM]);
     PUSH(32);
     fword("encode-bytes");
@@ -940,7 +938,7 @@
         fword("encode-int");
         push_str("ecache-associativity");
         fword("property");
-	
+
         PUSH(2);
         fword("encode-int");
         push_str("ncaches");
@@ -973,7 +971,7 @@
         fword("encode-int");
         push_str("mid");
         fword("property");
-	
+
         cpu->initfn();
 
         fword("finish-device");
@@ -1055,7 +1053,7 @@
 {
     ob_new_obio_device("power", NULL);
 
-    power_reg = ob_reg(base, offset, AUXIO2_REGS, 1);
+    power_reg = (void *)ob_reg(base, offset, AUXIO2_REGS, 1);
 
     // Not in device tree
     reset_reg = map_io(base + (uint64_t)SLAVIO_RESET, RESET_REGS);
@@ -1187,7 +1185,7 @@
     if (!cpu)
         return -1;
 
-    sparc_header = &nvram[header->nvram_arch_ptr];
+    sparc_header = (struct sparc_arch_cfg *)&nvram[header->nvram_arch_ptr];
     sparc_header->smp_entry = pc;
     sparc_header->smp_ctxtbl = context_ptr;
     sparc_header->smp_ctx = context;

Modified: openbios-devel/drivers/pgtsrmmu.h
===================================================================
--- openbios-devel/drivers/pgtsrmmu.h	2008-07-05 18:02:18 UTC (rev 188)
+++ openbios-devel/drivers/pgtsrmmu.h	2008-07-07 18:35:51 UTC (rev 189)
@@ -218,7 +218,7 @@
 srmmu_get_pte (unsigned long addr)
 {
 	register unsigned long entry;
-        
+
 	__asm__ __volatile__("\n\tlda [%1] %2,%0\n\t" :
 				"=r" (entry):
 				"r" ((addr & 0xfffff000) | 0x400), "i" (ASI_M_FLUSH_PROBE));

Modified: openbios-devel/drivers/sbus.c
===================================================================
--- openbios-devel/drivers/sbus.c	2008-07-05 18:02:18 UTC (rev 188)
+++ openbios-devel/drivers/sbus.c	2008-07-07 18:35:51 UTC (rev 189)
@@ -1,9 +1,9 @@
 /*
  *   OpenBIOS SBus driver
- *   
+ *
  *   (C) 2004 Stefan Reinauer <stepan at openbios.org>
  *   (C) 2005 Ed Schouten <ed at fxq.nl>
- * 
+ *
  *   This program is free software; you can redistribute it and/or
  *   modify it under the terms of the GNU General Public License
  *   version 2
@@ -57,8 +57,7 @@
 }
 
 static void
-ob_le_init(unsigned int slot, unsigned long base, unsigned long leoffset,
-           unsigned long dmaoffset)
+ob_le_init(unsigned int slot, unsigned long leoffset, unsigned long dmaoffset)
 {
     push_str("/iommu/sbus/ledma");
     fword("find-device");
@@ -90,7 +89,7 @@
 uint16_t graphic_depth;
 
 static void
-ob_tcx_init(unsigned int slot, unsigned long base)
+ob_tcx_init(unsigned int slot)
 {
     push_str("/iommu/sbus/SUNW,tcx");
     fword("find-device");
@@ -305,7 +304,7 @@
 }
 
 static void
-ob_cs4231_init(unsigned int slot, unsigned long base)
+ob_cs4231_init(unsigned int slot)
 {
     push_str("/iommu/sbus");
     fword("find-device");
@@ -362,7 +361,7 @@
 #endif
 
     // NCR 92C990, Am7990, Lance. See http://www.amd.com
-    ob_le_init(slot, base, offset + 0x00c00000, offset + 0x00400010);
+    ob_le_init(slot, offset + 0x00c00000, offset + 0x00400010);
 
     // Parallel port
     //ob_bpp_init(base);
@@ -374,11 +373,11 @@
     // OpenBIOS and Qemu don't know how to do Sbus probing
     switch(slot) {
     case 3: // SUNW,tcx
-        ob_tcx_init(slot, base);
+        ob_tcx_init(slot);
         break;
     case 4:
         // SUNW,CS4231
-        ob_cs4231_init(slot, base);
+        ob_cs4231_init(slot);
         // Power management (APC)
         ob_apc_init(slot, APC_OFFSET);
         break;
@@ -396,7 +395,7 @@
     // OpenBIOS and Qemu don't know how to do Sbus probing
     switch(slot) {
     case 2: // SUNW,tcx
-        ob_tcx_init(slot, base);
+        ob_tcx_init(slot);
         break;
     case 0xf: // le, esp, bpp, power-management
         ob_macio_init(slot, base, 0);
@@ -414,14 +413,14 @@
     // OpenBIOS and Qemu don't know how to do Sbus probing
     switch(slot) {
     case 2: // SUNW,tcx
-        ob_tcx_init(slot, base);
+        ob_tcx_init(slot);
         break;
     case 0xf: // le, esp, bpp, power-management
 #ifdef CONFIG_DRIVER_ESP
         ob_esp_init(slot, base, SS600MP_ESP, SS600MP_ESPDMA);
 #endif
         // NCR 92C990, Am7990, Lance. See http://www.amd.com
-        ob_le_init(slot, base, 0x00060000, SS600MP_LEBUFFER);
+        ob_le_init(slot, 0x00060000, SS600MP_LEBUFFER);
         // Power management (APC) XXX should not exist
         ob_apc_init(slot, APC_OFFSET);
         break;
@@ -431,20 +430,20 @@
 }
 
 static void
-ob_sbus_open(int *idx)
+ob_sbus_open(void)
 {
 	int ret=1;
 	RET ( -ret );
 }
 
 static void
-ob_sbus_close(int *idx)
+ob_sbus_close(void)
 {
 	selfword("close-deblocker");
 }
 
 static void
-ob_sbus_initialize(int *idx)
+ob_sbus_initialize(void)
 {
 }
 
@@ -505,7 +504,7 @@
 }
 
 static int
-ob_sbus_init_ss5(uint64_t base)
+ob_sbus_init_ss5(void)
 {
     unsigned int slot;
     int notfirst = 0;
@@ -526,7 +525,7 @@
 }
 
 static int
-ob_sbus_init_ss10(uint64_t base)
+ob_sbus_init_ss10(void)
 {
     unsigned int slot;
     int notfirst = 0;
@@ -547,7 +546,7 @@
 }
 
 static int
-ob_sbus_init_ss600mp(uint64_t base)
+ob_sbus_init_ss600mp(void)
 {
     unsigned int slot;
     int notfirst = 0;
@@ -573,11 +572,11 @@
 
     switch (machine_id) {
     case 0x71:
-        return ob_sbus_init_ss600mp(base);
+        return ob_sbus_init_ss600mp();
     case 0x72:
-        return ob_sbus_init_ss10(base);
+        return ob_sbus_init_ss10();
     case 0x80:
-        return ob_sbus_init_ss5(base);
+        return ob_sbus_init_ss5();
     default:
         return -1;
     }

Modified: openbios-devel/include/openbios/drivers.h
===================================================================
--- openbios-devel/include/openbios/drivers.h	2008-07-05 18:02:18 UTC (rev 188)
+++ openbios-devel/include/openbios/drivers.h	2008-07-07 18:35:51 UTC (rev 189)
@@ -16,7 +16,14 @@
 #endif
 #ifdef CONFIG_DRIVER_SBUS
 int ob_sbus_init(uint64_t base, int machine_id);
+void tcx_init(uint64_t base);
+void kbd_init(uint64_t base);
+int keyboard_dataready(void);
+unsigned char keyboard_readdata(void);
+#ifdef CONFIG_DEBUG_CONSOLE_VIDEO
+void init_video(void);
 #endif
+#endif
 #ifdef CONFIG_DRIVER_IDE
 int ob_ide_init(void);
 #endif
@@ -28,5 +35,10 @@
 int ob_obio_init(uint64_t slavio_base, unsigned long fd_offset,
                  unsigned long counter_offset, unsigned long intr_offset,
                  unsigned long aux1_offset, unsigned long aux2_offset);
+int start_cpu(unsigned int pc, unsigned int context_ptr, unsigned int context,
+              int cpu);
+extern struct mem cmem;
 #endif
-
+#ifdef CONFIG_DRIVER_FLOPPY
+int ob_floppy_init(void);
+#endif




More information about the OpenBIOS mailing list