patch-2.4.0-test2 linux/init/main.c

Next file: linux/ipc/shm.c
Previous file: linux/include/scsi/sg.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test1/linux/init/main.c linux/init/main.c
@@ -133,44 +133,6 @@
 static char * argv_init[MAX_INIT_ARGS+2] = { "init", NULL, };
 static char * envp_init[MAX_INIT_ENVS+2] = { "HOME=/", "TERM=linux", NULL, };
 
-/*
- * Read an int from an option string; if available accept a subsequent
- * comma as well.
- *
- * Return values:
- * 0 : no int in string
- * 1 : int found, no subsequent comma
- * 2 : int found including a subsequent comma
- */
-int get_option(char **str, int *pint)
-{
-    char *cur = *str;
-
-    if (!cur || !(*cur)) return 0;
-    *pint = simple_strtol(cur,str,0);
-    if (cur==*str) return 0;
-    if (**str==',') {
-        (*str)++;
-        return 2;
-    }
-
-    return 1;
-}
-
-char *get_options(char *str, int nints, int *ints)
-{
-	int res,i=1;
-
-    while (i<nints) {
-        res = get_option(&str, ints+i);
-        if (res==0) break;
-        i++;
-        if (res==1) break;
-    }
-	ints[0] = i-1;
-	return(str);
-}
-
 static int __init profile_setup(char *str)
 {
     int par;
@@ -271,6 +233,25 @@
 	{ "dasdg", (DASD_MAJOR << MINORBITS) + (6 << 2) },
 	{ "dasdh", (DASD_MAJOR << MINORBITS) + (7 << 2) },
 #endif
+#if defined(CONFIG_BLK_CPQ_DA) || defined(CONFIG_BLK_CPQ_DA_MODULE)
+	{ "ida/c0d0p",0x4800 },
+	{ "ida/c0d1p",0x4810 },
+	{ "ida/c0d2p",0x4820 },
+	{ "ida/c0d3p",0x4830 },
+	{ "ida/c0d4p",0x4840 },
+	{ "ida/c0d5p",0x4850 },
+	{ "ida/c0d6p",0x4860 },
+	{ "ida/c0d7p",0x4870 },
+	{ "ida/c0d8p",0x4880 },
+	{ "ida/c0d9p",0x4890 },
+	{ "ida/c0d10p",0x48A0 },
+	{ "ida/c0d11p",0x48B0 },
+	{ "ida/c0d12p",0x48C0 },
+	{ "ida/c0d13p",0x48D0 },
+	{ "ida/c0d14p",0x48E0 },
+	{ "ida/c0d15p",0x48F0 },
+#endif
+
 	{ NULL, 0 }
 };
 
@@ -530,12 +511,12 @@
 	printk(linux_banner);
 	setup_arch(&command_line);
 	printk("Kernel command line: %s\n", saved_command_line);
+	parse_options(command_line);
 	trap_init();
 	init_IRQ();
 	sched_init();
 	time_init();
 	softirq_init();
-	parse_options(command_line);
 
 	/*
 	 * HACK ALERT! This is early. We're enabling the console before
@@ -737,7 +718,8 @@
 
 #ifdef CONFIG_BLK_DEV_INITRD
 	root_mountflags = real_root_mountflags;
-	if (mount_initrd && MAJOR(ROOT_DEV) == RAMDISK_MAJOR && MINOR(ROOT_DEV) == 0) {
+	if (mount_initrd && ROOT_DEV != real_root_dev
+	    && MAJOR(ROOT_DEV) == RAMDISK_MAJOR && MINOR(ROOT_DEV) == 0) {
 		int error;
 		int i, pid;
 
@@ -747,7 +729,7 @@
 		if (MAJOR(real_root_dev) != RAMDISK_MAJOR
 		     || MINOR(real_root_dev) != 0) {
 #ifdef CONFIG_BLK_DEV_MD
-			autodetect_raid();
+			md_run_setup();
 #endif
 			error = change_root(real_root_dev,"/initrd");
 			if (error)

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)