Re: Fast Data Access MMU Miss
Takeshi Nakayama <[email protected]>
| Newsgroups | gmane.os.netbsd.ports.sparc64 |
|---|---|
| Message-ID | <[email protected]> |
>>> "J. Hannken-Illjes" <[email protected]> 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;