--- arch/mips/arc/cmdline.c.orig	Mon Dec 11 17:41:05 2000
+++ arch/mips/arc/cmdline.c	Sat Jan 20 19:07:53 2001
@@ -22,16 +22,17 @@
 static char *ignored[] = {
 	"ConsoleIn=",
 	"ConsoleOut=",
-	"SystemPartition=",
+	"SystemPartition=", 
 	"OSLoader=",
 	"OSLoadPartition=",
-	"OSLoadFilename="
+	"OSLoadFilename=",
+	"OSLoadOptions="
 };
 #define NENTS(foo) ((sizeof((foo)) / (sizeof((foo[0])))))
 
 void __init prom_init_cmdline(void)
 {
-	char *cp;
+	char *cp, *s;
 	int actr, i;
 
 	actr = 1; /* Always ignore argv[0] */
@@ -55,7 +56,21 @@
 	if (cp != &(arcs_cmdline[0])) /* get rid of trailing space */
 		--cp;
 	*cp = '\0';
-
+	/* Indy'ism: check if root=partition is set, if not: set it using OSLoadPartition */
+	if ( ! strstr( &(arcs_cmdline[0]), "root=")) {
+		for( i = 0; i < prom_argc; i++ ) {
+			if ( strstr( prom_argv[i], "OSLoadPartition")) {
+					s = strstr(prom_argv[i], "=");
+					strcpy(cp, " root");
+					cp += strlen(" root");
+					strcpy(cp, s);
+					cp += strlen(s);
+					*cp = '\0';
+					break;
+				} 
+		}
+	}
+	
 #ifdef DEBUG_CMDLINE
 	prom_printf("prom_init_cmdline: %s\n", &(arcs_cmdline[0]));
 #endif
