[net.unix-wizards] NO DEC CONSPIRACY AGAINST SYSTEM III

aps (07/21/82)

System III conspired against all of you!

The recent problems with VAX-11/780's and System III is not the fault
of the new 780 microcode (WCS124).  In fact, it is System III that
did not adhear to a limitation in the 780 set from the year of the
flood.  If one looks in the 1978-79 780 processor manual (I think that
is the original) on page 78, under the description for SCBB (System
Control Block Base register), one will note that bits 31 and 30 are
MBS; this means MUST BE Zero, not, may be zero.  System III, unlike
Berkeley UNIX, loads the SCBB, it loads an address with bit 31
equal to a one.  It turns out, that eariler versions of the microcode
did not check for this bit and in fact did not care whether it was
a one or not.  WCS124, which is the new microcode for VAX-11/780
revision 7, does check it.  If the SCBB is loaded with a 1 in bit
31, you will get a reserved operand fault (vector 18).  In fact,
if you use the wonderful standalone shell (SASH), you will get the
cryptic message "HALT INSTRUCTION EXECUTED, HALTED AT 00000001".

There is a way around this:  The failed instruction is at AF8 and
the offending data is in the longword at AFA.  If you change the
offending data (make the "8" a "0"), then restart the machine at the
failed instruction (AF8), you can boot up System III.  You better
change the instruction in start.s
	mtpr	$Scbbase,$SCBB	# set SCBB
to
	mtpr	$Scbbase-0x80000000,$SCBB	# set SCBB
so this doesn't happen everytime you try to boot it.  (NOTE: People
trying to get wonderful System III onto 750's will run into the same
problem.)


	AF8 =   02008FDA <--- Beginning of failing instruction
	AFA =   DA118000
		    ^
		    +-- This "8" should be a "0".

	Change the "8" to a "0" and resume execution at AF8.

	Armando Stettner
	decvax!aps