j
: Next unread message k
: Previous unread message j a
: Jump to all threads
j l
: Jump to MailingList overview
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@0,0:a"; break; default: case 'd': - path = "cdrom"; + path = "/pci/isa/ide1/cdrom@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; }