MIPS: Octeon: Add fw_init_cmdline() for Cavium platforms.
authorSteven J. Hill <Steven.Hill@cavium.com>
Tue, 22 Nov 2016 19:44:10 +0000 (13:44 -0600)
committerRalf Baechle <ralf@linux-mips.org>
Tue, 3 Jan 2017 15:34:35 +0000 (16:34 +0100)
Add platform-specific kernel command line processing for Octeon.

Signed-off-by: Steven J. Hill <steven.hill@cavium.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/14599/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/cavium-octeon/setup.c

index 9a2db1c013d92e548fd04ef0a008ec442942350c..4809ce4719d16fbf1654f68e1d973a5902b65342 100644 (file)
@@ -949,6 +949,22 @@ static __init void memory_exclude_page(u64 addr, u64 *mem, u64 *size)
 }
 #endif /* CONFIG_CRASH_DUMP */
 
+void __init fw_init_cmdline(void)
+{
+       int i;
+
+       octeon_boot_desc_ptr = (struct octeon_boot_descriptor *)fw_arg3;
+       for (i = 0; i < octeon_boot_desc_ptr->argc; i++) {
+               const char *arg =
+                       cvmx_phys_to_ptr(octeon_boot_desc_ptr->argv[i]);
+               if (strlen(arcs_cmdline) + strlen(arg) + 1 <
+                          sizeof(arcs_cmdline) - 1) {
+                       strcat(arcs_cmdline, " ");
+                       strcat(arcs_cmdline, arg);
+               }
+       }
+}
+
 void __init plat_mem_setup(void)
 {
        uint64_t mem_alloc_size;