xref: /openbmc/linux/arch/mips/dec/prom/cmdline.c (revision 498495dba268b20e8eadd7fe93c140c68b6cc9d2)
1*b2441318SGreg Kroah-Hartman // SPDX-License-Identifier: GPL-2.0
21da177e4SLinus Torvalds /*
31da177e4SLinus Torvalds  * cmdline.c: read the command line passed to us by the PROM.
41da177e4SLinus Torvalds  *
51da177e4SLinus Torvalds  * Copyright (C) 1998 Harald Koerfgen
61da177e4SLinus Torvalds  * Copyright (C) 2002, 2004  Maciej W. Rozycki
71da177e4SLinus Torvalds  */
81da177e4SLinus Torvalds #include <linux/init.h>
91da177e4SLinus Torvalds #include <linux/kernel.h>
101da177e4SLinus Torvalds #include <linux/string.h>
111da177e4SLinus Torvalds #include <linux/types.h>
121da177e4SLinus Torvalds 
131da177e4SLinus Torvalds #include <asm/bootinfo.h>
141da177e4SLinus Torvalds #include <asm/dec/prom.h>
151da177e4SLinus Torvalds 
161da177e4SLinus Torvalds #undef PROM_DEBUG
171da177e4SLinus Torvalds 
prom_init_cmdline(s32 argc,s32 * argv,u32 magic)181da177e4SLinus Torvalds void __init prom_init_cmdline(s32 argc, s32 *argv, u32 magic)
191da177e4SLinus Torvalds {
201da177e4SLinus Torvalds 	char *arg;
211da177e4SLinus Torvalds 	int start_arg, i;
221da177e4SLinus Torvalds 
231da177e4SLinus Torvalds 	/*
241da177e4SLinus Torvalds 	 * collect args and prepare cmd_line
251da177e4SLinus Torvalds 	 */
261da177e4SLinus Torvalds 	if (!prom_is_rex(magic))
271da177e4SLinus Torvalds 		start_arg = 1;
281da177e4SLinus Torvalds 	else
291da177e4SLinus Torvalds 		start_arg = 2;
301da177e4SLinus Torvalds 	for (i = start_arg; i < argc; i++) {
311da177e4SLinus Torvalds 		arg = (void *)(long)(argv[i]);
321da177e4SLinus Torvalds 		strcat(arcs_cmdline, arg);
331da177e4SLinus Torvalds 		if (i < (argc - 1))
341da177e4SLinus Torvalds 			strcat(arcs_cmdline, " ");
351da177e4SLinus Torvalds 	}
361da177e4SLinus Torvalds 
371da177e4SLinus Torvalds #ifdef PROM_DEBUG
381da177e4SLinus Torvalds 	printk("arcs_cmdline: %s\n", &(arcs_cmdline[0]));
391da177e4SLinus Torvalds #endif
401da177e4SLinus Torvalds }
41