Google
 

Trailing-Edge - PDP-10 Archives - AP-D471B-SB_1978 - mcs603.bwr
There are no other files named mcs603.bwr in the archive.
	THERE HAVE BEEN A FEW PROBLEMS DISCOVERED WITH 6.03 THAT
DIRECTLY AFFECT MCS-10 VERSION 2.  THE FIXES SUPPLIED, WHEN MARKED BY
AN MCO NUMBER, WILL BE IN 6.03A.  AS WITH ALL PATCHES, DON'T INSTALL
UNLESS YOUR INSTALLATION IS EXPERIENCING THE PROBLEM DESCRIBED.
THERE IS NO ABSOLUTE GUARANTEE THAT THESE CORRECT THE OCCURRANCE OF THAT
PROBLEM AT YOUR SITE, BUT HAVE CORRECTED A SIMILAR ONE AT OTHER SITES.


PROBLEM:	UNDESERVED ADDRESS CHECKS ON MPX DEVICES ON VM SYSTEMS

DIAGNOSIS:	PREMATURE TERMINATION OF BUFFER CHECK ROUTINE

CURE:		MCOS # 7108 & 7186 RE-WROTE VMCHEK IN MSGSER TO BE:


IFN FTVM,<
;SUBROUTINE TO MAKE SURE ALL BUFFERS ARE IN CORE
;CALL WITH:
;	M = ADDRESS-OF-FIRST-BUFFER
;	PUSHJ	P,VMCHEK
;	RETURN HERE IF ALL OK
;
VMCHEK:	PUSH	P,T1		;SAVE T1
	PUSHJ	P,BCHCK		;MAKE SURE BUFFERS ARE IN CORE
;WE HAVE JUST TOUCHED EVERY BUFFER IN THE FREE LIST.
	SKIPE	DEVEVM(P3)	;SKIP IF NOT ALREADY MAPPED IN EVM
	JRST	TPOPJ##		;RETURN
	HRR	M,DEVOAD(P3)	;START OF ACTIVE LIST
	TRNN	M,-1		;SKIP IF LIST EXISTS
	JRST	TPOPJ##		;RETURN--NO BUFFERS
	PUSHJ	P,BCHCK		;MAKE SURE BUFFERS ARE IN CORE
	JRST	TPOPJ##		;ALL OK

BCHCK:	PUSHJ	P,SAVE1##	;SAVE P1
	MOVEI	P1,^D10000	;DEFEND AGAINST LOOPS
BCHCK1:	PUSHJ	P,GETWRD##	;GET LINK WORD
	  JRST	ADRERR##	;ADDRESS CHECK
	MOVEI	T2,(M)		;ADDRESS OF CURRENT BUFFER
	HRR	M,T1		;ADDRESS OF NEXT BUFFER
	MOVE	T1,T2		;ADDRESS OF NEXT BUFFER
	PUSHJ	P,BRNGE##	;CHECK IT
	TRNE	M,-1		;LAST BUFFER?
	SOJGE	P1,BCHCK1	;NO
	JUMPL	P1,ADRERR##	;JUMP IF ADDRESS CHECK
	POPJ	P,		;RETURN
>  ;END OF IFN FTVM





PROBLEM:	IOSTBL CAN BE ON IN A DDB CONTROLLED BY MSGSER BUT NOT
		ON IN THE MPXDDB ITSELF.

DIAGNOSIS:	ONLY 1 BIT USED IN MPXDDB

CURE:		MCO # 7134 ADDED ANOTHER BIT.  IN MSGSER, MAKE THE
		FOLLOWING CHANGES:



	MPXVMF==1B0	;DEFINE BIT IN DEVIOS

CHANGE:	MPXTBL:	MOVSI	S,IOSTBL
TO:	MPXTBL:	MOVSI	S,IOSTBL(MPXVMF)



INSERT:	IFN FTVM,<
		MOVSI	T1,(MPXVMF)	;NOTE POSSIBILITY OF PAGE FAULT
		IORM	T1,DEVIOS(P3)	;IN THE MPX DDB
	> ;END OF IFN FTVM

AFTER:MPXTB1+3/	JRST	MPXTB1		;NO, LOOK AT THE NEXT DDB



INSERT:		MOVSI	T1,(MPXVMF)	;A PAGE FAULT DIDN'T OCCUR
		ANDCAM	T1,DEVIOS(P3)	; SO CLEAR THE BIT

AFTER:	CALL TO BRNGE AND STILL INSIDE FTVM AT MPXTB1+6







PROBLEM:	MCS-10 LOOPS ON ^Z FROM AN MPX'ED TERMINAL (TTY)

DIAGONSIS:	SCNSER LITES IOEND IN TTYDDB WHICH SHOWS UP IN MPXDDB
		AND EVENTUALLY BECOMES IO.EOF. HOWEVER, INPUT CLOSE ON
		MPX ONLY CLEARS MPXDDB, NOT TTYDDB AND IO.EOF SHOWS UP
		AGAIN (AND AGAIN AND AGAIN.....)

CURE:		NO REAL MCO AVAILABLE AT THIS TIME BUT A WAY AROUND IS
		TO INHIBIT IOEND ON MPX'ED TTYS IN SCNSER.  A CORRECT
		FIX WILL BE IN A LATER MONITOR RELEASE.
		IN SCNSER CHANGE CODE BEFORE TTYIN3 TO READ:


	MOVE	T1,DEVMSG(F)	;GET "MSGSER" BIT
	TRNE	T1,DEPMSG	;CONTROLLED VIA AN MPX
	MOVEI	S,0		;YES, DON'T LITE EOF
	IORB	S,DEVIOS(F)	;LITE BITS AND GET EVERYTHING
TTYIN3:

;WHERE THE "IORB" AND "TTYIN3:" ARE ALREADY THERE