mchk 2 --- tbuf error on 750 running 4.2 BSD

Jim Rees rees at apollo.uucp
Wed Jul 31 01:47:25 AEST 1985


Actually, the bsd4.2 tape we got still didn't have the right stuff for
tbuf parity errors.  In machdep.c, the line

		if ((mcf->mc5_mcesr&0xf) == MC750_TBPAR) {

should be

		if ((mcf->mc5_mcesr&0xe) == MC750_TBPAR) {

The low order bit indicates whether the error occured in the execution
buffer or not.  Since we don't care where the error occured, we just
mask out that bit.  See the section on "Machine Check Error Summary
Register" in the Vax Hardware Handbook.

Some other early fixes caught the tbuf par error fine, but then failed
to flush the buffer before returning, resulting in an endless loop.

The 4.1 code was even worse.  As I recall, hard errors were mistakenly
reported as tbuf parity errors, and soft errors were ignored, but I
could have that the wrong way around.  As far as I know all versions
of 4.2 fix this problem.

I have all this on good authority, but if I'm wrong about the TB flush
also flushing the XB, please set me straight.



More information about the Comp.bugs.4bsd.ucb-fixes mailing list