Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site godot.UUCP Path: utzoo!linus!vaxine!wjh12!genrad!mit-eddie!godot!bruce From: bruce@godot.UUCP (Bruce Nemnich) Newsgroups: net.unix-wizards,net.bugs.4bsd Subject: tbuf par faults and 4.2bsd Message-ID: <125@godot.UUCP> Date: Tue, 5-Jun-84 23:34:34 EDT Article-I.D.: godot.125 Posted: Tue Jun 5 23:34:34 1984 Date-Received: Thu, 7-Jun-84 00:49:58 EDT Organization: Thinking Machines, Waltham, MA Lines: 31 > From: rees@apollo.UUCP > Subject: tbuf par errors, once more > Date: Mon, 4-Jun-84 08:23:32 EDT > > Maybe this should go in the list of most-often asked questions about Unix? > > Thanks to Dennis Ritchie, Sam Leffler, Andy Tannenbaum, and all the > other people who helped straighten this out. > > The translation buffer helps translate virtual addresses to real. A > tbuf par err is a parity error in the translation buffer. The original > 4.1bsd code didn't handle these errors correctly. There is an ECO > from DEC that reduces the number of these errors, but Unix should still > be able to handle them correctly. > > There are some bogus versions of this fix floating around. They have > mc5_mcesr&0xf instead of mc5_mcesr&0xe. Make sure you have the right one. > > I have not looked at the 4.2 code to see if this fix made it in. This code > is for 4.1bsd. I just looked at the 4.2bsd code, because I have been having problems with these faults. Sure enough, the distributed version has the bogus fix. Here's the 4.2bsd diff on /sys/vax/machdep.c: 810c810 < if ((mcf->mc5_mcesr&0xf) == MC750_TBPAR) { --- > if ((mcf->mc5_mcesr&0xe) == MC750_TBPAR) { -- --Bruce Nemnich, Thinking Machines Corporation, Waltham, MA