From 68503f9a0ca5129190c66647aa8f618b5cc5d441 Mon Sep 17 00:00:00 2001 From: Bill Joy Date: Sun, 17 Jan 1982 04:59:37 -0800 Subject: [PATCH] clean crashes! SCCS-vsn: sys/vax/vax/locore.s 4.60 SCCS-vsn: sys/vax/vax/machdep.c 4.49 SCCS-vsn: sys/kern/subr_prf.c 4.21 SCCS-vsn: sys/kern/vfs_syscalls.c 4.16 SCCS-vsn: sys/ufs/ffs/ffs_vnops.c 4.16 SCCS-vsn: sys/ufs/ffs/ufs_vnops.c 4.16 SCCS-vsn: sys/ufs/lfs/lfs_vnops.c 4.16 SCCS-vsn: sys/ufs/ufs/ufs_vnops.c 4.16 --- usr/src/sys/kern/subr_prf.c | 7 ++++--- usr/src/sys/kern/vfs_syscalls.c | 4 ++-- usr/src/sys/ufs/ffs/ffs_vnops.c | 4 ++-- usr/src/sys/ufs/ffs/ufs_vnops.c | 4 ++-- usr/src/sys/ufs/lfs/lfs_vnops.c | 4 ++-- usr/src/sys/ufs/ufs/ufs_vnops.c | 4 ++-- usr/src/sys/vax/vax/locore.s | 7 ++++++- usr/src/sys/vax/vax/machdep.c | 27 ++++++++++++++++++++------- 8 files changed, 40 insertions(+), 21 deletions(-) diff --git a/usr/src/sys/kern/subr_prf.c b/usr/src/sys/kern/subr_prf.c index f671d7f219..c7d1cc9b28 100644 --- a/usr/src/sys/kern/subr_prf.c +++ b/usr/src/sys/kern/subr_prf.c @@ -1,4 +1,4 @@ -/* subr_prf.c 4.20 82/01/14 */ +/* subr_prf.c 4.21 82/01/16 */ #include "../h/param.h" #include "../h/systm.h" @@ -170,11 +170,12 @@ printn(n, b, touser) panic(s) char *s; { - int bootopt = panicstr ? RB_AUTOBOOT : RB_AUTOBOOT|RB_NOSYNC; + int bootopt = RB_AUTOBOOT; + if (panicstr) + bootopt |= RB_NOSYNC; panicstr = s; printf("panic: %s\n", s); - (void) spl0(); boot(RB_PANIC, bootopt); } diff --git a/usr/src/sys/kern/vfs_syscalls.c b/usr/src/sys/kern/vfs_syscalls.c index c806cd64e3..6e95f4f382 100644 --- a/usr/src/sys/kern/vfs_syscalls.c +++ b/usr/src/sys/kern/vfs_syscalls.c @@ -1,4 +1,4 @@ -/* vfs_syscalls.c 4.15 81/11/18 */ +/* vfs_syscalls.c 4.16 82/01/16 */ #include "../h/param.h" #include "../h/systm.h" @@ -224,7 +224,7 @@ sumount() if (u.u_error) return; xumount(dev); /* remove unused sticky files from text table */ - update(); + update(0); for (mp = &mount[0]; mp < &mount[NMOUNT]; mp++) if (mp->m_bufp != NULL && dev == mp->m_dev) goto found; diff --git a/usr/src/sys/ufs/ffs/ffs_vnops.c b/usr/src/sys/ufs/ffs/ffs_vnops.c index 048fca07a2..f0db3fe80a 100644 --- a/usr/src/sys/ufs/ffs/ffs_vnops.c +++ b/usr/src/sys/ufs/ffs/ffs_vnops.c @@ -1,4 +1,4 @@ -/* ffs_vnops.c 4.15 81/11/18 */ +/* ffs_vnops.c 4.16 82/01/16 */ #include "../h/param.h" #include "../h/systm.h" @@ -224,7 +224,7 @@ sumount() if (u.u_error) return; xumount(dev); /* remove unused sticky files from text table */ - update(); + update(0); for (mp = &mount[0]; mp < &mount[NMOUNT]; mp++) if (mp->m_bufp != NULL && dev == mp->m_dev) goto found; diff --git a/usr/src/sys/ufs/ffs/ufs_vnops.c b/usr/src/sys/ufs/ffs/ufs_vnops.c index 3d549891c9..0bea98641d 100644 --- a/usr/src/sys/ufs/ffs/ufs_vnops.c +++ b/usr/src/sys/ufs/ffs/ufs_vnops.c @@ -1,4 +1,4 @@ -/* ufs_vnops.c 4.15 81/11/18 */ +/* ufs_vnops.c 4.16 82/01/16 */ #include "../h/param.h" #include "../h/systm.h" @@ -224,7 +224,7 @@ sumount() if (u.u_error) return; xumount(dev); /* remove unused sticky files from text table */ - update(); + update(0); for (mp = &mount[0]; mp < &mount[NMOUNT]; mp++) if (mp->m_bufp != NULL && dev == mp->m_dev) goto found; diff --git a/usr/src/sys/ufs/lfs/lfs_vnops.c b/usr/src/sys/ufs/lfs/lfs_vnops.c index b155f1627c..c694906a2f 100644 --- a/usr/src/sys/ufs/lfs/lfs_vnops.c +++ b/usr/src/sys/ufs/lfs/lfs_vnops.c @@ -1,4 +1,4 @@ -/* lfs_vnops.c 4.15 81/11/18 */ +/* lfs_vnops.c 4.16 82/01/16 */ #include "../h/param.h" #include "../h/systm.h" @@ -224,7 +224,7 @@ sumount() if (u.u_error) return; xumount(dev); /* remove unused sticky files from text table */ - update(); + update(0); for (mp = &mount[0]; mp < &mount[NMOUNT]; mp++) if (mp->m_bufp != NULL && dev == mp->m_dev) goto found; diff --git a/usr/src/sys/ufs/ufs/ufs_vnops.c b/usr/src/sys/ufs/ufs/ufs_vnops.c index 3d549891c9..0bea98641d 100644 --- a/usr/src/sys/ufs/ufs/ufs_vnops.c +++ b/usr/src/sys/ufs/ufs/ufs_vnops.c @@ -1,4 +1,4 @@ -/* ufs_vnops.c 4.15 81/11/18 */ +/* ufs_vnops.c 4.16 82/01/16 */ #include "../h/param.h" #include "../h/systm.h" @@ -224,7 +224,7 @@ sumount() if (u.u_error) return; xumount(dev); /* remove unused sticky files from text table */ - update(); + update(0); for (mp = &mount[0]; mp < &mount[NMOUNT]; mp++) if (mp->m_bufp != NULL && dev == mp->m_dev) goto found; diff --git a/usr/src/sys/vax/vax/locore.s b/usr/src/sys/vax/vax/locore.s index b426d9d8e5..4bb79631c4 100644 --- a/usr/src/sys/vax/vax/locore.s +++ b/usr/src/sys/vax/vax/locore.s @@ -1,4 +1,4 @@ -/* locore.s 4.59 82/01/12 */ +/* locore.s 4.60 82/01/16 */ #include "../h/mtpr.h" #include "../h/trap.h" @@ -7,6 +7,7 @@ #include "../h/cpu.h" #include "../h/nexus.h" #include "../h/ubareg.h" +#include "../h/cons.h" #include "dz.h" #include "mba.h" @@ -67,6 +68,10 @@ _doadump: pushr $0x3fff calls $0,_dumpsys 1: + mfpr $TXCS,r0 + bitl $TXCS_RDY,r0 + beql 1b + mtpr $TXDB_BOOT,$TXDB halt /* diff --git a/usr/src/sys/vax/vax/machdep.c b/usr/src/sys/vax/vax/machdep.c index f71e516b8a..f55cefed36 100644 --- a/usr/src/sys/vax/vax/machdep.c +++ b/usr/src/sys/vax/vax/machdep.c @@ -1,4 +1,4 @@ -/* machdep.c 4.48 81/12/09 */ +/* machdep.c 4.49 82/01/16 */ #include "../h/param.h" #include "../h/systm.h" @@ -494,15 +494,26 @@ boot(paniced, arghowto) #ifdef lint howto = 0; devtype = 0; - printf("howto %d, devtype %d\n", howto, devtype); + printf("howto %d, devtype %d\n", arghowto, devtype); #endif + (void) spl4(); howto = arghowto; if ((howto&RB_NOSYNC)==0 && waittime < 0 && bfreelist[0].b_forw) { + register int cnt; + register struct buf *bp; + int iter, nbusy; waittime = 0; - update(); + update(1); printf("syncing disks... "); - while (++waittime <= 5) - sleep((caddr_t)&lbolt, PZERO); + for (iter = 0; iter < 10; iter++) { + nbusy = 0; + for (bp = &buf[nbuf]; --bp >= buf; ) + if (bp->b_flags & B_BUSY) + nbusy++; + if (nbusy == 0) + break; + printf("%d ", nbusy); + } printf("done\n"); } splx(0x1f); /* extreme priority */ @@ -513,8 +524,10 @@ boot(paniced, arghowto) for (;;) ; } else { - if (paniced == RB_PANIC) - doadump(); + if (paniced == RB_PANIC) { + doadump(); /* TXDB_BOOT's itsself */ + /*NOTREACHED*/ + } tocons(TXDB_BOOT); } #if defined(VAX750) || defined(VAX7ZZ) -- 2.20.1