Merge branch 'org.openembedded.dev' of git://git.openembedded.net/openembedded into...
[vuplus_openembedded] / packages / linux / linux-dm800 / linux-2.6.12-fixup-prom-args.patch
1 Index: stblinux-2.6.12/arch/mips/brcmstb/common/prom.c
2 ===================================================================
3 --- stblinux-2.6.12.orig/arch/mips/brcmstb/common/prom.c        2008-01-16 00:14:31.000000000 +0100
4 +++ stblinux-2.6.12/arch/mips/brcmstb/common/prom.c     2008-01-16 00:23:08.000000000 +0100
5 @@ -216,6 +216,29 @@
6  }
7  
8  
9 +int prom_argc;
10 +int *_prom_argv, *_prom_envp;
11 +
12 +void  __init prom_init_cmdline(void)
13 +{
14 +       char *cp;
15 +       int actr;
16 +
17 +       actr = 1; /* Always ignore argv[0] */
18 +
19 +       cp = &(arcs_cmdline[0]);
20 +       while(actr < prom_argc) {
21 +               strcpy(cp, _prom_argv[actr]);
22 +               cp += strlen(_prom_argv[actr]);
23 +               *cp++ = ' ';
24 +               actr++;
25 +       }
26 +       if (cp != &(arcs_cmdline[0])) {
27 +               /* get rid of trailing space */
28 +               --cp;
29 +               *cp = '\0';
30 +       }
31 +}
32  
33  void __init prom_init(void)
34  {
35 @@ -731,23 +754,14 @@
36                 uart_puts("Default command line = \n");
37                 uart_puts(CONFIG_CMDLINE);
38                 uart_puts("\n");
39 -               p = &arcs_cmdline[0];
40 -               while (p != NULL && *p != '\0') {
41 -                       if (!isspace(*p))
42 -                               break;
43 -                       p++;
44 -               }
45 -               if (p == NULL || *p == '\0') {
46 -                       uart_puts("Defaulting to boot from HD\n");
47 -                       /* Default is to boot from HD */
48 -                       strcpy(arcs_cmdline,
49 -                               "root=/dev/hda1" DEFAULT_KARGS);
50 -               }
51 -               else if (appendConsoleNeeded) {
52 -                       /* Make sure that the boot params specify a console */
53 -                       appendConsoleArg(arcs_cmdline);
54 -               }
55                 
56 +               prom_argc = fw_arg0;
57 +               _prom_argv = (int *) fw_arg1;
58 +               _prom_envp = (int *) fw_arg2;
59 +               printk("%d %p %p\n", prom_argc, _prom_argv, _prom_envp);
60 +               prom_init_cmdline();
61 +               
62 +
63  #else /* No CONFIG_CMDLINE, and not Initrd */
64         /* Default is to boot from HD */
65                 strcpy(arcs_cmdline,