⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cmdline.c

📁 microwindows移植到S3C44B0的源码
💻 C
字号:
/* * cmdline.c: Kernel command line creation using ARCS argc/argv. * * Copyright (C) 1996 David S. Miller (dm@engr.sgi.com) */#include <linux/init.h>#include <linux/kernel.h>#include <linux/string.h>#include <asm/sgialib.h>#include <asm/bootinfo.h>#undef DEBUG_CMDLINEchar arcs_cmdline[CL_SIZE];char * __init prom_getcmdline(void){	return &(arcs_cmdline[0]);}static char *ignored[] = {	"ConsoleIn=",	"ConsoleOut=",	"SystemPartition=",	"OSLoader=",	"OSLoadPartition=",	"OSLoadFilename=",	"OSLoadOptions="};#define NENTS(foo) ((sizeof((foo)) / (sizeof((foo[0])))))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 < NENTS(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 = strstr(prom_argv[actr], "=");				if(s) {					s++;					strcpy(cp, s);					cp += strlen(s);				}				*cp++ = ' ';				break;			}		}		actr++;	}	return cp;}void __init prom_init_cmdline(void){	char *cp;	int actr, i;	actr = 1; /* Always ignore argv[0] */	cp = &(arcs_cmdline[0]);	/* 	 * 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 < NENTS(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[0])) /* get rid of trailing space */		--cp;	*cp = '\0';#ifdef DEBUG_CMDLINE	prom_printf("prom_init_cmdline: %s\n", &(arcs_cmdline[0]));#endif}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -