[OpenBIOS] r218 - openbios-devel/arch/sparc64
svn at openbios.org
svn at openbios.org
Sat Aug 2 12:59:05 CEST 2008
Author: blueswirl
Date: 2008-08-02 12:59:05 +0200 (Sat, 02 Aug 2008)
New Revision: 218
Modified:
openbios-devel/arch/sparc64/boot.c
openbios-devel/arch/sparc64/ldscript
openbios-devel/arch/sparc64/openbios.c
Log:
Finally fix the very obscure problem which prevented normal and especially
FCode boot: too small heap (used for Forth memory)!
Remove forced arch_init and boot hacks
Modified: openbios-devel/arch/sparc64/boot.c
===================================================================
--- openbios-devel/arch/sparc64/boot.c 2008-08-02 10:53:24 UTC (rev 217)
+++ openbios-devel/arch/sparc64/boot.c 2008-08-02 10:59:05 UTC (rev 218)
@@ -39,11 +39,11 @@
path = "/obio/SUNW,fdtwo";
break;
case 'c':
- path = "disk";
+ path = "/pci/isa/ide0/disk at 0,0:a";
break;
default:
case 'd':
- path = "cdrom";
+ path = "/pci/isa/ide1/cdrom at 0,0:a";
break;
case 'n':
path = "net";
Modified: openbios-devel/arch/sparc64/ldscript
===================================================================
--- openbios-devel/arch/sparc64/ldscript 2008-08-02 10:53:24 UTC (rev 217)
+++ openbios-devel/arch/sparc64/ldscript 2008-08-02 10:59:05 UTC (rev 218)
@@ -10,8 +10,8 @@
*/
BASE_ADDR = 0x00000000ffd00000;
-/* 16KB heap and stack */
-HEAP_SIZE = 16384;
+/* 512KB heap and 16KB stack */
+HEAP_SIZE = 512 * 1024;
STACK_SIZE = 16384;
VMEM_SIZE = 128 * 1024;
IOMEM_SIZE = 256 * 1024 + 768 * 1024;
Modified: openbios-devel/arch/sparc64/openbios.c
===================================================================
--- openbios-devel/arch/sparc64/openbios.c 2008-08-02 10:53:24 UTC (rev 217)
+++ openbios-devel/arch/sparc64/openbios.c 2008-08-02 10:59:05 UTC (rev 218)
@@ -52,8 +52,6 @@
static uint8_t idprom[32];
-static const char *bootpath;
-
struct cpudef {
unsigned long iu_version;
const char *name;
@@ -410,6 +408,7 @@
unsigned char *nvptr = (unsigned char *)&nv_info;
uint32_t size;
const struct cpudef *cpu;
+ const char *bootpath;
for (i = 0; i < sizeof(ohwcfg_v3_t); i++) {
outb(i & 0xff, 0x74);
@@ -674,6 +673,7 @@
device_end();
bind_func("platform-boot", boot );
+ printk("\n"); // XXX needed for boot, why?
}
int openbios(void)
@@ -723,10 +723,6 @@
#endif
enterforth((xt_t)PC);
- arch_init(); // XXX
- printk("force boot\n");
- push_str(bootpath);
- boot(); // XXX
printk("falling off...\n");
return 0;
}
More information about the OpenBIOS
mailing list