1*4882a593Smuzhiyun // SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * cmdline.c: read the command line passed to us by the PROM. 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * Copyright (C) 1998 Harald Koerfgen 6*4882a593Smuzhiyun * Copyright (C) 2002, 2004 Maciej W. Rozycki 7*4882a593Smuzhiyun */ 8*4882a593Smuzhiyun #include <linux/init.h> 9*4882a593Smuzhiyun #include <linux/kernel.h> 10*4882a593Smuzhiyun #include <linux/string.h> 11*4882a593Smuzhiyun #include <linux/types.h> 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun #include <asm/bootinfo.h> 14*4882a593Smuzhiyun #include <asm/dec/prom.h> 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun #undef PROM_DEBUG 17*4882a593Smuzhiyun prom_init_cmdline(s32 argc,s32 * argv,u32 magic)18*4882a593Smuzhiyunvoid __init prom_init_cmdline(s32 argc, s32 *argv, u32 magic) 19*4882a593Smuzhiyun { 20*4882a593Smuzhiyun char *arg; 21*4882a593Smuzhiyun int start_arg, i; 22*4882a593Smuzhiyun 23*4882a593Smuzhiyun /* 24*4882a593Smuzhiyun * collect args and prepare cmd_line 25*4882a593Smuzhiyun */ 26*4882a593Smuzhiyun if (!prom_is_rex(magic)) 27*4882a593Smuzhiyun start_arg = 1; 28*4882a593Smuzhiyun else 29*4882a593Smuzhiyun start_arg = 2; 30*4882a593Smuzhiyun for (i = start_arg; i < argc; i++) { 31*4882a593Smuzhiyun arg = (void *)(long)(argv[i]); 32*4882a593Smuzhiyun strcat(arcs_cmdline, arg); 33*4882a593Smuzhiyun if (i < (argc - 1)) 34*4882a593Smuzhiyun strcat(arcs_cmdline, " "); 35*4882a593Smuzhiyun } 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun #ifdef PROM_DEBUG 38*4882a593Smuzhiyun printk("arcs_cmdline: %s\n", &(arcs_cmdline[0])); 39*4882a593Smuzhiyun #endif 40*4882a593Smuzhiyun } 41