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 Torvaldsvoid __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