4.2 BSD bug in handling "tbuf par fault" on VAX 750
William L. Sebok
wls at astrovax.UUCP
Tue Mar 6 07:41:08 AEST 1984
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
More information about the Comp.unix.wizards
mailing list