Google
 

Trailing-Edge - PDP-10 Archives - SRI_NIC_PERM_SRC_1_19910112 - 7/ft3/monitor/stanford/pagem.dif
There are no other files named pagem.dif in the archive.

; PAGEM.MAC.2 & <MONITOR>PAGEM.MAC.1 24-Feb-89 1731	PAGE 1



LINE 1, PAGE 1
1)	;[MACBETH.STANFORD.EDU]SRC:<7.FT3.MONITOR.STANFORD>PAGEM.MAC.2, 20-Jun-88 15:23:18, Edit by A.APPLEHACKS
1)	; FT7 Clock Merge
1)	; UPD ID= 8708, RIP:<7.MONITOR>PAGEM.MAC.12,   3-May-88 16:44:28 by RASPUZZI
1)	;TCO 7.1282 - Prevent NSKDIS BUGHLTs out of SECMAP.
1)	;
1)	;[MACBETH.STANFORD.EDU]SRC:<7.FT2.MONITOR.STANFORD>PAGEM.MAC.3,  6-Apr-88 15:01:52, Edit by A.APPLEHACKS
1)	; FT7.2 Merge - re-adding stanford ft6 changes
1)	    ;<6-1-MONITOR.FT6>PAGEM.MAC.2, 12-Aug-85 16:59:27, Edit by WHP4
1)	    ; FT6 merge
1)	    ;Stanford changes:
1)	    ;  ADRTRP bugchk in ADRCMP for tracking down random clobberage
1)	    ;  PGRTRP will bughlt on page faults in scheduler
1)	    ;
1)	;
1)	; UPD ID= 8663, RIP:<7.MONITOR>PAGEM.MAC.11,  22-Feb-88 18:49:25 by GSCOTT
LINE 1, PAGE 1
2)	;[SRI-NIC]SRC:<7.MONITOR>PAGEM.MAC.2,  7-Nov-88 17:13:50, Edit by MKL
2)	; v7 merge
2)	;    ADRTRP bugchk in ADRCMP for tracking down random clobberage
2)	
2)	; Edit= 8839 to PAGEM.MAC on 3-May-88 by RASPUZZI, for SPR #21881 (TCO 7.1282)
2)	;Prevent NSKDIS BUGHLTs in SECMAP.
2)	; UPD ID= 8663, RIP:<7.MONITOR>PAGEM.MAC.11,  22-Feb-88 18:49:25 by GSCOTT


LINE 26, PAGE 50
1)	        STKVAR <SOFN,PTNPN>     ;[7.1282] Temporary holding cells
1)		NOSKED			;PREVENT INTERRUPTION
LINE 26, PAGE 50
2)		STKVAR <SOFN,PTNPN>	;[8839] Temporary holding cells
2)		NOSKED			;PREVENT INTERRUPTION


LINE 8, PAGE 51
1)	;[7.1282]
1)	;Nota bene - This code simulates LCKOFN. It has to be done
1)	;in line because LCKOFN expects to be called OKSKED and it
1)	;therefore, goes NOSKED. It can't handle nested NOSKEDs
1)	
1)	SECMP2:	    MOVX T2,SPTLKB	;[7.1282] Get OFN lock bit
1)		    TDNN T2,SPTH(T1)	;[7.1282] Is OFN locked now?
1)		    IFSKP.		;[7.1282] If so,
1)		      CALL WTOFNS	;[7.1282] (T1/) Go OKSKED and wait for OFN to be freed
1)		      NOSKED		;[7.1282] Prevent interruptions
1)		      MOVE T1,SECSPT	;[7.1282] Retrieve the OFN
1)		      JRST SECMP2	;[7.1282] And see if OFN is locked
1)		    ENDIF.		;[7.1282]
1)		    CSKED		;[7.1282] Be critical, (undone by ULKOFN)

; PAGEM.MAC.2 & <MONITOR>PAGEM.MAC.1 24-Feb-89 1731	PAGE 2


1)		    MOVEM T1,SOFN	;[7.1282] Save OFN
1)		    MOVEM T4,PTNPN	;[7.1282] Save PTN,,PN
1)		    SETZ T2,		;[7.1282] Get shared access (0=shared)
1)		    CALL CFSAWP		;[7.1282] (T1,T2/) Acquire token
1)		    MOVE T1,SOFN	;[7.1282] Get OFN back
1)		    MOVX T2,SPTLKB	;[7.1282] Get the lock bit
1)		    TDNN T2,SPTH(T1)	;[7.1282] Someone lock this OFN behind our back?
1)		    IFSKP.		;[7.1282] If so,
1)		      CALL CFSFWT	;[7.1282] (T1/) Undo resource acquisition
1)		      ECSKED		;[7.1282] No longer critical
1)		      MOVE T4,PTNPN	;[7.1282] Restore this
1)		      MOVE T1,SOFN	;[7.1282] And OFN
1)		      JRST SECMP2	;[7.1282] And start this over again
1)		    ENDIF.		;[7.1282]
1)	
1)	;[7.1282]
1)	;At this point, no one locked the OFN behind our backs. So, it is
1)	;legally and morally ours. Let's take it!
1)	
1)		    IORM T2,SPTH(T1)	;[7.1282] Lock the OFN
1)		    CALL GETSHR		;[7.1167](T1/T1)Get the OFN share count
LINE 8, PAGE 51
2)	;[8839]
2)	;Nota bene - This code simulates LCKOFN. It has to be done
2)	;in line because LCKOFN expects to be called OKSKED and it
2)	;therefore, goes NOSKED. It can't handle nested NOSKEDs
2)	
2)	SECMP2:	    MOVX T2,SPTLKB	;[8839] Get OFN lock bit
2)		    TDNN T2,SPTH(T1)	;[8839] Is OFN locked now?
2)		    IFSKP.		;[8839] If so,
2)		      CALL WTOFNS	;[8839] (T1/) Go OKSKED and wait for OFN to be freed
2)		      NOSKED		;[8839] Prevent interruptions
2)		      MOVE T1,SECSPT	;[8839] Retrieve the OFN
2)		      JRST SECMP2	;[8839] And see if OFN is locked
2)		    ENDIF.		;[8839]
2)		    CSKED		;[8839] Be critical, (undone by ULKOFN)
2)		    MOVEM T1,SOFN	;[8839] Save OFN
2)		    MOVEM T4,PTNPN	;[8839] Save PTN,,PN
2)		    SETZ T2,		;[8839] Get shared access (0=shared)
2)		    CALL CFSAWP		;[8839] (T1,T2/) Acquire token
2)		    MOVE T1,SOFN	;[8839] Get OFN back
2)		    MOVX T2,SPTLKB	;[8839] Get the lock bit
2)		    TDNN T2,SPTH(T1)	;[8839] Someone lock this OFN behind our back?
2)		    IFSKP.		;[8839] If so,
2)		      CALL CFSFWT	;[8839] (T1/) Undo resource acquisition
2)		      ECSKED		;[8839] No longer critical
2)		      MOVE T4,PTNPN	;[8839] Restore this
2)		      MOVE T1,SOFN	;[8839] And OFN
2)		      JRST SECMP2	;[8839] And start this over again
2)		    ENDIF.		;[8839]
2)	

; PAGEM.MAC.2 & <MONITOR>PAGEM.MAC.1 24-Feb-89 1731	PAGE 3


2)	;[8839]
2)	;At this point, no one locked the OFN behind our backs. So, it is
2)	;legally and morally ours. Let's take it!
2)	
2)		    IORM T2,SPTH(T1)	;[8839] Lock the OFN
2)		    CALL GETSHR		;[7.1167](T1/T1)Get the OFN share count