Date: Sun, 29 Feb 2004 00:56:20 -0500 From: Ken Smith <kensmith@cse.Buffalo.EDU> To: freebsd-current@freebsd.org, freebsd-alpha@freebsd.org Subject: One more patch for Alpha console issues... Message-ID: <20040229055620.GA18073@electra.cse.Buffalo.EDU>
next in thread | raw e-mail | index | archive | help
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 @@ -585,22 +585,6 @@ } 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 /* @@ -890,6 +874,22 @@ 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@cse.buffalo.edu there, funny things are everywhere. | - Theodore Geisel |
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040229055620.GA18073>