wls@astrovax.UUCP (William L. Sebok) (03/06/84)
Index: /sys/vax/machdep.c 4.2BSD Description: In memerr() in /sys/vax/machdep.c no test is ever done to check whether memory errors on a VAX 750 are correctible or not. Thus strange panics and such may occur with no indication on the console that there was a hard error. The fix below fixes the problem for a VAX 750. I suspect that the same problem is also present in the VAX 780 and 730 support code, as I have not seen any tests for the uncorrectable memory error condition. This bug was also present in 4.1. Repeat-By: Get yourself a bad memory board with hard errors. The system may do all sorts of strange things because of memory errors yet only "soft ecc" messages will appear on the console. 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:30:39 1984 *************** *** 481,488 if (M750_ERR(mcr)) { struct mcr amcr; amcr.mc_reg[0] = mcr->mc_reg[0]; ! printf("mcr%d: soft ecc addr %x syn %x\n", ! m, M750_ADDR(&amcr), M750_SYN(&amcr)); M750_INH(mcr); } break; --- 481,497 ----- if (M750_ERR(mcr)) { struct mcr amcr; amcr.mc_reg[0] = mcr->mc_reg[0]; ! /* ! * modified to distinguish hard and soft errors ! * (W. Sebok astrovax!wls 3/7/83) ! */ ! if (M750_ERR(mcr)&M750_UNCORR) { ! printf("mcr%d: hard error",m); ! } else { ! printf("mcr%d: soft ecc",m); ! } ! printf(" addr %x syn %x\n", ! M750_ADDR(&amcr), M750_SYN(&mcr)); M750_INH(mcr); } break; *************** -- Bill Sebok Princeton University, Astrophysics {allegra,akgua,burl,cbosgd,decvax,ihnp4,kpno,princeton,vax135}!astrovax!wls