| --- a/arch/mips/cavium-octeon/setup.c |
| +++ b/arch/mips/cavium-octeon/setup.c |
| @@ -653,6 +653,35 @@ void octeon_user_io_init(void) |
| write_c0_derraddr1(0); |
| } |
| |
| +#ifdef CONFIG_IMAGE_CMDLINE_HACK |
| +extern char __image_cmdline[]; |
| + |
| +static int __init octeon_use_image_cmdline(void) |
| +{ |
| + char *p = __image_cmdline; |
| + int replace = 0; |
| + |
| + if (*p == '-') { |
| + replace = 1; |
| + p++; |
| + } |
| + |
| + if (*p == '\0') |
| + return 0; |
| + |
| + if (replace) { |
| + strlcpy(arcs_cmdline, p, sizeof(arcs_cmdline)); |
| + } else { |
| + strlcat(arcs_cmdline, " ", sizeof(arcs_cmdline)); |
| + strlcat(arcs_cmdline, p, sizeof(arcs_cmdline)); |
| + } |
| + |
| + return 1; |
| +} |
| +#else |
| +static inline int octeon_use_image_cmdline(void) { return 0; } |
| +#endif |
| + |
| /** |
| * Early entry point for arch setup |
| */ |
| @@ -897,6 +926,8 @@ void __init prom_init(void) |
| } |
| } |
| |
| + octeon_use_image_cmdline(); |
| + |
| if (strstr(arcs_cmdline, "console=") == NULL) { |
| if (octeon_uart == 1) |
| strcat(arcs_cmdline, " console=ttyS1,115200"); |