Port-sparc64 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Fast Data Access MMU Miss



>>> "J. Hannken-Illjes" <hannken%eis.cs.tu-bs.de@localhost> wrote

> Booting a "options DEBUG" kernel from 2014/08/13 14:00 UTC all I get is:
> 
>   Boot device: disk0  File and args: 
>   NetBSD IEEE 1275 Multi-FS Bootblock
>   Version $NetBSD: bootblk.fth,v 1.13 2010/06/24 00:54:12 eeh Exp $
>   >> NetBSD/sparc64 OpenFirmware Boot, Revision 1.16 (Wed Jun  5 11:16:40 
> MEST 2013)
>   =0xc96e80
>   Loading netbsd: 9498824+618048+373488 [604032+405913]=0xde9448
>   Loaded initial symtab at 0x1cf2b28, strtab at 0x1d862a8, # entries 25137
> 
>   ERROR: Last Trap: Fast Data Access MMU Miss
> 
>   {1} ok 
> 
> Any ideas anyone?

Please try the attached patch.

According to the ".registers" command output from OBP, It seems
that trap occured in binuptime and it was called too early stage of
bootstrap.

-- Takeshi Nakayama


Index: subr_prf.c
===================================================================
RCS file: /cvsroot/src/sys/kern/subr_prf.c,v
retrieving revision 1.154
diff -u -d -r1.154 subr_prf.c
--- subr_prf.c  10 Aug 2014 16:44:36 -0000      1.154
+++ subr_prf.c  14 Aug 2014 03:34:53 -0000
@@ -1200,7 +1200,9 @@
        const char *xdigs;      /* digits for [xX] conversion */
        char bf[KPRINTF_BUFSIZE]; /* space for %c, %[diouxX] */
        char *tailp;            /* tail pointer for snprintf */
+#ifdef RND_PRINTF
        struct timespec ts;
+#endif
 
        if (oflags == TOBUFONLY && (vp != NULL))
                tailp = *(char **)vp;
@@ -1549,8 +1551,8 @@
                *(char **)vp = sbuf;
        (*v_flush)();
 
-       (void)nanotime(&ts);
 #ifdef RND_PRINTF
+       (void)nanotime(&ts);
        SHA512_Update(&kprnd_sha, (char *)&ts, sizeof(ts));
 #endif
        return ret;


Home | Main Index | Thread Index | Old Index