One more patch for Alpha console issues...

From: Ken Smith <kensmith_at_cse.Buffalo.EDU>
Date: Sun, 29 Feb 2004 00:56:20 -0500
I have been working with someone who has a DS10 and graphical console.
The set of patches I had done so far slowly made it go farther before
dying due to kernel stack issues but it was still not booting all the
way.  AFAIK everyone else who has been testing things had serial consoles.

He reports this patch does fix his machine to the point it boots.  I'll
go ahead with this in a day or two if nobody has any further comments.
I know at least Bruce seemed interested in this, saying that these moves
shouldn't *really* be needed and that it would be nice to find out a
bit more about what is really the root cause of the problems.

This patch leaves the promcons initial console in place until the same
point I had found the call to make_dev() needed to be moved.  It then
calls the system-specific console init routines that (may...) swap
the console to be a different driver.  This had not been needed on the
machines with serial consoles but it apparently is for machines with
graphical consoles.

Any further thoughts?  Thanks...

Index: machdep.c
===================================================================
RCS file: /home/ncvs/src/sys/alpha/alpha/machdep.c,v
retrieving revision 1.217
diff -u -r1.217 machdep.c
--- machdep.c	27 Feb 2004 19:30:46 -0000	1.217
+++ machdep.c	29 Feb 2004 01:40:59 -0000
_at__at_ -585,22 +585,6 _at__at_
 	}
 	snprintf(cpu_model, sizeof(cpu_model), "%s", platform.model);
 
-	/*
-	 * Initalize the real console, so the the bootstrap console is
-	 * no longer necessary.
-	 */
-#ifndef NO_SIO
-	if (platform.cons_init) {
-		platform.cons_init();
-		promcndetach();
-	}
-#else
-	if (platform.cons_init)
-		platform.cons_init();
-	promcndetach();
-	cninit();
-#endif
-
 	/* NO MORE FIRMWARE ACCESS ALLOWED */
 #ifdef _PMAP_MAY_USE_PROM_CONSOLE
 	/*
_at__at_ -890,6 +874,22 _at__at_
 		thread0.td_md.md_kernnest = 1;
 #endif
 	}
+
+	/*
+	 * Initalize the real console, so the the bootstrap console is
+	 * no longer necessary.
+	 */
+#ifndef NO_SIO
+	if (platform.cons_init) {
+		platform.cons_init();
+		promcndetach();
+	}
+#else
+	if (platform.cons_init)
+		platform.cons_init();
+	promcndetach();
+	cninit();
+#endif
 
 	/*
 	 * Check to see if promcons needs to make_dev() now,


-- 
						Ken Smith
- From there to here, from here to      |       kensmith_at_cse.buffalo.edu
  there, funny things are everywhere.   |
                      - Theodore Geisel |
Received on Sat Feb 28 2004 - 20:56:22 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:45 UTC