On Thu, Mar 28, 2013 at 7:20 PM, Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk> wrote: > On 22/03/13 05:19, Rob Landley wrote: > >> If I do this: >> >> qemu-system-sparc -nographic -no-reboot -kernel image -hda hda.sqf >> -append 'root=/dev/sda rw init=/sbin/init.sh panic=1 >> PATH=/usr/distcc:/bin:/sbin console=ttyS0 HOST=sparc CPUS=1 >> DISTCC_HOSTS=10.0.2.2:31322/1 FTP_SERVER=10.0.2.2 FTP_PORT=31307 >> NATIVE_BUILD=lfs-bootstrap ' -hdb hdb.img -hdc lfs-bootstrap.hdc -m 256 >> >> qemu goes: >> >> ^[[H^[[JConfiguration device id QEMU version 1 machine id 32 >> CPUs: 1 x FMI,MB86904 >> Unhandled Exception 0x00000007 >> PC = 0xffd07d28 NPC = 0xffd07d2c >> Stopping execution >> >> And then hangs. I've never figured out why it clears the screen first >> (none of the other targets do), but I _have_ figured out that the >> unhandled exception is "kernel command line too long". Because 197 bytes >> is just too much data for Sparc to cope with. > > > This is actually a bug in OpenBIOS which declares the command line storage > like this: > > static void > arch_init( void ) > { > static char cmdline[128]; > > .... > > kernel_cmdline = (const char *) > fw_cfg_read_i32(FW_CFG_KERNEL_CMDLINE); > if (kernel_cmdline) { > size = strlen(kernel_cmdline); > memcpy(cmdline, kernel_cmdline, size); > obp_arg.argv[1] = cmdline; > } > cmdline[size] = '\0'; > > .... > } > > Would increasing it to 256 bytes be enough? I can't say I've ever come > across command lines in a normal environment with more than about 80 > characters, but I don't see an issue with increasing it.
Isn't strdup() (or memory allocation subsystem) available at that time? > > > ATB, > > Mark. > > -- > OpenBIOS http://openbios.org/ > Mailinglist: http://lists.openbios.org/mailman/listinfo > Free your System - May the Forth be with you