blob: 6c02ea3194d76426e5e989a58aefeb00b506d7c2 [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001--- a/arch/mips/cavium-octeon/setup.c
2+++ b/arch/mips/cavium-octeon/setup.c
3@@ -653,6 +653,35 @@ void octeon_user_io_init(void)
4 write_c0_derraddr1(0);
5 }
6
7+#ifdef CONFIG_IMAGE_CMDLINE_HACK
8+extern char __image_cmdline[];
9+
10+static int __init octeon_use_image_cmdline(void)
11+{
12+ char *p = __image_cmdline;
13+ int replace = 0;
14+
15+ if (*p == '-') {
16+ replace = 1;
17+ p++;
18+ }
19+
20+ if (*p == '\0')
21+ return 0;
22+
23+ if (replace) {
24+ strlcpy(arcs_cmdline, p, sizeof(arcs_cmdline));
25+ } else {
26+ strlcat(arcs_cmdline, " ", sizeof(arcs_cmdline));
27+ strlcat(arcs_cmdline, p, sizeof(arcs_cmdline));
28+ }
29+
30+ return 1;
31+}
32+#else
33+static inline int octeon_use_image_cmdline(void) { return 0; }
34+#endif
35+
36 /**
37 * Early entry point for arch setup
38 */
39@@ -897,6 +926,8 @@ void __init prom_init(void)
40 }
41 }
42
43+ octeon_use_image_cmdline();
44+
45 if (strstr(arcs_cmdline, "console=") == NULL) {
46 if (octeon_uart == 1)
47 strcat(arcs_cmdline, " console=ttyS1,115200");