[OpenBIOS] r227 - openbios-devel/arch/sparc64
svn at openbios.org
svn at openbios.org
Sat Aug 9 16:20:29 CEST 2008
Author: blueswirl
Date: 2008-08-09 16:20:29 +0200 (Sat, 09 Aug 2008)
New Revision: 227
Modified:
openbios-devel/arch/sparc64/boot.c
Log:
Use nvram boot-args and boot-device variables also for Sparc64 (cf. r137)
Modified: openbios-devel/arch/sparc64/boot.c
===================================================================
--- openbios-devel/arch/sparc64/boot.c 2008-08-09 14:10:37 UTC (rev 226)
+++ openbios-devel/arch/sparc64/boot.c 2008-08-09 14:20:29 UTC (rev 227)
@@ -34,20 +34,29 @@
}
if(!path) {
- switch(boot_device) {
- case 'a':
- path = "/obio/SUNW,fdtwo";
- break;
- case 'c':
- path = "disk";
- break;
- default:
- case 'd':
- path = "cdrom";
- break;
- case 'n':
- path = "net";
- break;
+ push_str("boot-device");
+ push_str("/options");
+ fword("(find-dev)");
+ POP();
+ fword("get-package-property");
+ if (!POP()) {
+ path = pop_fstr_copy();
+ } else {
+ switch (boot_device) {
+ case 'a':
+ path = "/obio/SUNW,fdtwo";
+ break;
+ case 'c':
+ path = "disk";
+ break;
+ default:
+ case 'd':
+ path = "cdrom";
+ break;
+ case 'n':
+ path = "net";
+ break;
+ }
}
}
@@ -57,6 +66,14 @@
param++;
} else if (cmdline_size) {
param = (char *)qemu_cmdline;
+ } else {
+ push_str("boot-args");
+ push_str("/options");
+ fword("(find-dev)");
+ POP();
+ fword("get-package-property");
+ POP();
+ param = pop_fstr_copy();
}
printk("[sparc64] Booting file '%s' ", path);
More information about the OpenBIOS
mailing list