Trailing-Edge
-
PDP-10 Archives
-
bb-jr93e-bb
-
7,6/ap015/cpnser.c15
There are 2 other files named cpnser.c15 in the archive. Click here to see a list.
REP 1/1 ;15C1
TITLE CPNSER - SECOND PROCESSOR CONTROL V440
SUBTTL M. CHURCH - LNS/MIT P. HURLEY - DEC/JMF/TW/CDO/GMU/TARL 20 MAY 86
WIT
TITLE CPNSER - SECOND PROCESSOR CONTROL V442
SUBTTL M. CHURCH - LNS/MIT P. HURLEY - DEC/JMF/TW/CDO/GMU/TARL 30 JULY 86
REP 17/1 ;15C2
XP VCP1SR,440 ;VERSION NUMBER FOR LOADER STORAGE MAP
WIT
XP VCP1SR,442 ;VERSION NUMBER FOR LOADER STORAGE MAP
REP 29/19 ;15C3
IFN FTKL10,<
APRID INOSCD##
>
WIT
APRID INOSCD##
REP 54/19 ;15C4
IFN FTKL10,<
APRID T1
>
WIT
APRID T1
INS 1/20 ;15C5
;ROUTINE TO OBTAIN THE DIE INTERLOCK
LOKDIE::AOSE .CPDIE## ;OWN INTERLOCK?
POPJ P, ;JUST NESTING, RETURN
SKIPGE INTDIE## ;INTERLOCK AVAILABLE?
AOSE INTDIE## ;TRY TO GET IT
JRST .-2 ;NOT AVAILABLE
APRID INODIE## ;REMEMBER WHO OWNS IT
SETOM DIEFLG## ;FLAG A STOPCODE IS HAPPENING
POPJ P, ;RETURN
;ROUTINE TO RELEASE THE DIE INTERLOCK
ULKDIE::PUSH P,T1 ;SAVE AN AC
SOSL T1,.CPDIE## ;COUNT DOWN A LEVEL OF NESTING
JRST TPOPJ## ;STILL NESTING, RETURN
SETOM INODIE## ;NO ONE OWNS IT NOW
SETZM DIEFLG## ;CLEAR STOPCODE IN PROGRESS FLAG
EXCH T1,INTDIE## ;RELEASE INTERLOCK
JUMPGE T1,TPOPJ## ;OK IF WAS LOCKED PREVIOUSLY
STOPCD TPOPJ##,DEBUG,DAU, ;++DIE ALREADY UNLOCKED
;ROUTINE TO BREAK THE DIE INTERLOCK
BRKDIE::SETOM INODIE## ;NO ONE OWNS IT NOW
SETZM DIEFLG## ;CLEAR STOPCODE IN PROGRESS FLAG
SETOM INTDIE## ;RELEASE INTERLOCK
POPJ P, ;RETURN
REP 27/20 ;15C6
APRID INTLMO## ;NOTE THAT THIS CPU IS THE OWNER
>
WIT
>
APRID INTLMO## ;NOTE THAT THIS CPU IS THE OWNER
REP 4/21 ;15C7
IFN FTKL10,<
ANDI J,7777 ;ISOLATE THE SERIAL NUMBER
>
WIT
ANDI J,ID.PSN ;ISOLATE THE SERIAL NUMBER
REP 13/24 ;15C8
IFN FTKL10,<
APRID INTOLK## ;SERIAL NUMBER OF OWNING CPU
>
WIT
APRID INTOLK## ;SERIAL NUMBER OF OWNING CPU
REP 19/25 ;15C9
IFN FTKL10,<
SUBI T1,INTL0## ;OFFSET INTO INTERLOCKS
APRID INTO0##(T1) ;REMEMBER WHICH CPU OWNS THE INTERLOCK
>
WIT
SUBI T1,INTL0## ;OFFSET INTO INTERLOCKS
APRID INTO0##(T1) ;REMEMBER WHICH CPU OWNS THE INTERLOCK
REP 10/26 ;15C10
IFN FTKL10,<
APRID INTOBT## ;SERIAL NUMBER OF OWNING CPU
>
WIT
APRID INTOBT## ;SERIAL NUMBER OF OWNING CPU
REP 7/28 ;15C11
IFN FTKL10,<APRID INOSCN##>
WIT
APRID INOSCN##
REP 22/28 ;15C12
IFN FTKL10,<APRID INONET##>
WIT
APRID INONET##
REP 39/28 ;15C13
IFN FTKL10,<APRID INOETH##> ;RECORD INTERLOCK OWNER
WIT
APRID INOETH## ;RECORD INTERLOCK OWNER
DEL 5/35 ;15C14
DEL 27/45 ;15C15
IFN FTENET,<
PUSHJ P,KNISVP## ;DISABLE KLNI FOR DURATION OF STOPCODE
>; END IFN FTENET
REP 38/45 ;15C16
DIENLK ;TOO LONK, BREAK INTERLOCK
WIT
PUSHJ P,BRKDIE ;TOO LONG, BREAK INTERLOCK
REP 11/50 ;15C17
BECOM1: MOVSI T1,(1B0) ;GET BIT FOR BREAKPOINT ON CPU0
WIT
BECOM1::MOVSI T1,(1B0) ;GET BIT FOR BREAKPOINT ON CPU0
REP 21/52 ;15C18
IFN FTKL10,<
ANDI T2,7777 ;ISOLATE SERIAL NUMBER
>
CAMN T2,.CPASN##-.CPCDB##(T1) ;THIS CPU OWN THE DIE INTERLOCK?
SETOM INTDIE## ;YES, BREAK IT
WIT
ANDI T2,ID.PSN ;ISOLATE SERIAL NUMBER
CAMN T2,.CPASN##-.CPCDB##(T1) ;THIS CPU OWN THE DIE INTERLOCK?
PUSHJ P,BRKDIE ;YES, BREAK IT
REP 5/53 ;15C19
BRKSIW::PUSHJ P,SAVT## ;SAVE T1-T4
WIT
BRKSIW: PUSHJ P,SAVT## ;SAVE T1-T4
REP 11/53 ;15C20
IFN FTKL10,<
ANDI T4,7777 ;ISOLATE SERIAL NUMBER
>
WIT
ANDI T4,ID.PSN ;ISOLATE SERIAL NUMBER
REP 21/53 ;15C21
IFN FTKL10,<
ANDI T4,7777 ;ISOLATE SERIAL NUMBER
>
WIT
ANDI T4,ID.PSN ;ISOLATE SERIAL NUMBER
SUM 30996