Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site astrovax.UUCP Path: utzoo!watmath!clyde!burl!ulysses!allegra!princeton!astrovax!wls From: wls@astrovax.UUCP (William L. Sebok) Newsgroups: net.bugs.4bsd,net.unix-wizards Subject: 4.2 BSD bug in handling "tbuf par fault" on VAX 750 Message-ID: <229@astrovax.UUCP> Date: Mon, 5-Mar-84 16:41:08 EST Article-I.D.: astrovax.229 Posted: Mon Mar 5 16:41:08 1984 Date-Received: Tue, 6-Mar-84 03:26:15 EST Organization: Princeton Univ. Astrophysics Lines: 40 Index: /sys/vax/machdep.c 4.2BSD Description: The computer (a Vax 750) occasionally panics: machine check 2: cp tbuf par fault even though BSD 4.2 contains the patch to flush and return on tbuf parity errors. The problem is that the test for the condition insists that bit 0 of the mcesr (prefetch reference bit) be zero, which need not be true. Repeat-By: Eventually the computer will panic as described above. Fix: Here are the diffs to /sys/vax/machdep.c. The line numbers of the new machdep.c may vary as there have been other fixes necessary. *** machdep.c.ORIG Tue Feb 28 11:27:04 1984 --- machdep.c Mon Mar 5 15:10:41 1984 *************** *** 811,817 mcf->mc5_buserr, mcf->mc5_mcesr, mcf->mc5_pc, mcf->mc5_psl, mfpr(MCSR)); mtpr(MCESR, 0xf); ! if ((mcf->mc5_mcesr&0xf) == MC750_TBPAR) { printf("tbuf par: flushing and returning\n"); mtpr(TBIA, 0); return; --- 822,828 ----- mcf->mc5_buserr, mcf->mc5_mcesr, mcf->mc5_pc, mcf->mc5_psl, mfpr(MCSR)); mtpr(MCESR, 0xf); ! if ((mcf->mc5_mcesr&0xe) == MC750_TBPAR) { printf("tbuf par: flushing and returning\n"); mtpr(TBIA, 0); return; -- Bill Sebok Princeton University, Astrophysics {allegra,akgua,burl,cbosgd,decvax,ihnp4,kpno,princeton,vax135}!astrovax!wls