Index: stblinux-2.6.12/arch/mips/brcmstb/common/prom.c =================================================================== --- stblinux-2.6.12.orig/arch/mips/brcmstb/common/prom.c 2008-01-16 00:14:31.000000000 +0100 +++ stblinux-2.6.12/arch/mips/brcmstb/common/prom.c 2008-01-16 00:23:08.000000000 +0100 @@ -216,6 +216,29 @@ } +int prom_argc; +int *_prom_argv, *_prom_envp; + +void __init prom_init_cmdline(void) +{ + char *cp; + int actr; + + actr = 1; /* Always ignore argv[0] */ + + cp = &(arcs_cmdline[0]); + while(actr < prom_argc) { + strcpy(cp, _prom_argv[actr]); + cp += strlen(_prom_argv[actr]); + *cp++ = ' '; + actr++; + } + if (cp != &(arcs_cmdline[0])) { + /* get rid of trailing space */ + --cp; + *cp = '\0'; + } +} void __init prom_init(void) { @@ -731,23 +754,14 @@ uart_puts("Default command line = \n"); uart_puts(CONFIG_CMDLINE); uart_puts("\n"); - p = &arcs_cmdline[0]; - while (p != NULL && *p != '\0') { - if (!isspace(*p)) - break; - p++; - } - if (p == NULL || *p == '\0') { - uart_puts("Defaulting to boot from HD\n"); - /* Default is to boot from HD */ - strcpy(arcs_cmdline, - "root=/dev/hda1" DEFAULT_KARGS); - } - else if (appendConsoleNeeded) { - /* Make sure that the boot params specify a console */ - appendConsoleArg(arcs_cmdline); - } + prom_argc = fw_arg0; + _prom_argv = (int *) fw_arg1; + _prom_envp = (int *) fw_arg2; + printk("%d %p %p\n", prom_argc, _prom_argv, _prom_envp); + prom_init_cmdline(); + + #else /* No CONFIG_CMDLINE, and not Initrd */ /* Default is to boot from HD */ strcpy(arcs_cmdline,