cregit-Linux how code gets into the kernel

Release 4.14 arch/mips/fw/arc/cmdline.c

Directory: arch/mips/fw/arc
/*
 * This file is subject to the terms and conditions of the GNU General Public
 * License.  See the file "COPYING" in the main directory of this archive
 * for more details.
 *
 * cmdline.c: Kernel command line creation using ARCS argc/argv.
 *
 * Copyright (C) 1996 David S. Miller (davem@davemloft.net)
 */
#include <linux/bug.h>
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/string.h>

#include <asm/sgialib.h>
#include <asm/bootinfo.h>


#undef DEBUG_CMDLINE


static char *ignored[] = {
	"ConsoleIn=",
	"ConsoleOut=",
	"SystemPartition=",
	"OSLoader=",
	"OSLoadPartition=",
	"OSLoadFilename=",
	"OSLoadOptions="
};


static char *used_arc[][2] = {
	{ "OSLoadPartition=", "root=" },
	{ "OSLoadOptions=", "" }
};


static char * __init move_firmware_args(char* cp) { char *s; int actr, i; actr = 1; /* Always ignore argv[0] */ while (actr < prom_argc) { for(i = 0; i < ARRAY_SIZE(used_arc); i++) { int len = strlen(used_arc[i][0]); if (!strncmp(prom_argv(actr), used_arc[i][0], len)) { /* Ok, we want it. First append the replacement... */ strcat(cp, used_arc[i][1]); cp += strlen(used_arc[i][1]); /* ... and now the argument */ s = strchr(prom_argv(actr), '='); if (s) { s++; strcpy(cp, s); cp += strlen(s); } *cp++ = ' '; break; } } actr++; } return cp; }

Contributors

PersonTokensPropCommitsCommitProp
Linus Torvalds15895.76%133.33%
Ralf Bächle53.03%133.33%
Roel Kluin21.21%133.33%
Total165100.00%3100.00%


void __init prom_init_cmdline(void) { char *cp; int actr, i; actr = 1; /* Always ignore argv[0] */ cp = arcs_cmdline; /* * Move ARC variables to the beginning to make sure they can be * overridden by later arguments. */ cp = move_firmware_args(cp); while (actr < prom_argc) { for (i = 0; i < ARRAY_SIZE(ignored); i++) { int len = strlen(ignored[i]); if (!strncmp(prom_argv(actr), ignored[i], len)) goto pic_cont; } /* Ok, we want it. */ strcpy(cp, prom_argv(actr)); cp += strlen(prom_argv(actr)); *cp++ = ' '; pic_cont: actr++; } if (cp != arcs_cmdline) /* get rid of trailing space */ --cp; *cp = '\0'; #ifdef DEBUG_CMDLINE printk(KERN_DEBUG "prom cmdline: %s\n", arcs_cmdline); #endif }

Contributors

PersonTokensPropCommitsCommitProp
Linus Torvalds (pre-git)13488.16%360.00%
Ralf Bächle117.24%120.00%
Linus Torvalds74.61%120.00%
Total152100.00%5100.00%


Overall Contributors

PersonTokensPropCommitsCommitProp
Linus Torvalds19350.26%220.00%
Linus Torvalds (pre-git)16944.01%440.00%
Ralf Bächle164.17%110.00%
Paul Gortmaker30.78%110.00%
Roel Kluin20.52%110.00%
Justin P. Mattock10.26%110.00%
Total384100.00%10100.00%
Directory: arch/mips/fw/arc
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.