Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 24 Dec 2001 14:47:08 +0100
From:      Thomas Moestl <tmoestl@gmx.net>
To:        Jamey Wood <Jamey.Wood@Sun.COM>
Cc:        freebsd-sparc@freebsd.org
Subject:   Re: compiling a sparc64 kernel?
Message-ID:  <20011224144708.B451@crow.dom2ip.de>
In-Reply-To: <20011224133714.A451@crow.dom2ip.de>; from tmoestl@gmx.net on Mon, Dec 24, 2001 at 01:37:14PM %2B0100
References:  <1513fe0e8.e0e81513f@smi.sun.com> <20011224133714.A451@crow.dom2ip.de>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 2001/12/24 at 13:37:14 +0100, Thomas Moestl wrote:
> On Sun, 2001/12/23 at 12:43:01 -0800, Jamey Wood wrote:
> > It just hangs right there, however.  I tried sening a break, hoping to
> > get to the ok or db prompt to do a trace, but even that didn't work.  I
> > had to power-cycle the U1 to get out of that wedged state.  And trying
> > it all again gives the same result.
> 
> Hmmm. This could be a consequence of the bug above. Does it still
> happen this way with the patch applied?

I just noticed that I forgot to commit a change that adds a compiler
flag that is needed to build working kernels (-mcmodel=medlow).
I've just committed it, you will need to update your tree to get the
change, re-run config, do a 'make clean depend' (using the appropriate
'make' wrapper if needed) and rebuild the kernel.

I've also attached another uncommitted patch that is needed to make
console input using ofw_console work correctly.

Sorry for the breakage.

	- thomas

diff -ur freebsd/sys/dev/ofw/ofw_console.c sparc64/sys/dev/ofw/ofw_console.c
--- freebsd/sys/dev/ofw/ofw_console.c	Thu Sep 13 17:30:38 2001
+++ sparc64/sys/dev/ofw/ofw_console.c	Sun Nov  4 01:14:36 2001
@@ -121,11 +121,7 @@
 	error = (*linesw[tp->t_line].l_open)(dev, tp);
 
 	if (error == 0 && setuptimeout) {
-		polltime = hz / OFW_POLL_HZ;
-		if (polltime < 1) {
-			polltime = 1;
-		}
-
+		polltime = hz / 4;
 		ofw_timeouthandle = timeout(ofw_timeout, tp, polltime);
 	}
 
@@ -286,7 +282,7 @@
 {
 	unsigned char ch;
 
-	if (OF_read(stdin, &ch, 1) != 0) {
+	if (OF_read(stdin, &ch, 1) > 0) {
 		return (ch);
 	}
 
diff -ur freebsd/sys/dev/ofw/openfirm.c sparc64/sys/dev/ofw/openfirm.c
--- freebsd/sys/dev/ofw/openfirm.c	Sun Nov 25 14:51:25 2001
+++ sparc64/sys/dev/ofw/openfirm.c	Thu Nov 22 20:14:56 2001
@@ -93,7 +93,7 @@
 OF_printf(const char *fmt, ...)
 {
 	va_list	va;
-	char	buf[1024];
+	static char	buf[1024];
 
 	va_start(va, fmt);
 	vsprintf(buf, fmt, va);

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-sparc" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20011224144708.B451>