[OpenBIOS] r206 - openbios-devel/arch/sparc64

svn at openbios.org svn at openbios.org
Thu Jul 17 14:49:25 CEST 2008


Author: blueswirl
Date: 2008-07-17 14:49:25 +0200 (Thu, 17 Jul 2008)
New Revision: 206

Modified:
   openbios-devel/arch/sparc64/openbios.c
Log:
Support for simple boot device selection

Modified: openbios-devel/arch/sparc64/openbios.c
===================================================================
--- openbios-devel/arch/sparc64/openbios.c	2008-07-17 12:48:11 UTC (rev 205)
+++ openbios-devel/arch/sparc64/openbios.c	2008-07-17 12:49:25 UTC (rev 206)
@@ -52,6 +52,8 @@
 
 static uint8_t idprom[32];
 
+static const char *bootpath;
+
 struct cpudef {
     unsigned long iu_version;
     const char *name;
@@ -468,6 +470,18 @@
     fword("encode+");
     push_str("translations");
     fword("property");
+
+    push_str("/chosen");
+    fword("find-device");
+
+    if (nv_info.boot_devices[0] == 'c')
+        bootpath = "/pci/isa/ide0/disk at 0,0:a";
+    else
+        bootpath = "/pci/isa/ide1/cdrom at 0,0:a";
+    push_str(bootpath);
+    fword("encode-string");
+    push_str("bootpath");
+    fword("property");
 }
 
 void arch_nvram_put(char *data)
@@ -583,7 +597,7 @@
 	enterforth((xt_t)PC);
         arch_init(); // XXX
         printk("force boot\n");
-        push_str("/pci/isa/ide0/disk at 0,0:a");
+        push_str(bootpath);
         boot(); // XXX
         printk("falling off...\n");
 	return 0;




More information about the OpenBIOS mailing list