Trailing-Edge
-
PDP-10 Archives
-
bb-bt99g-bb
-
netser.c11
There is 1 other file named netser.c11 in the archive. Click here to see a list.
REP 6/46 ;11C1
IDIVI T1,MSGALN## ;TAKE MOD ALLOCATION TABLE MAXIMA
WIT
IDIVI T1,MSGALN##+1 ;TAKE MOD ALLOCATION TABLE MAXIMA
REP 11/171 ;11C2
PUSHJ P,NTDSTP ;++ THIS SHOULDN'T HAPPEN ANYMORE!
WIT
STOPCD .,STOP,ANFWNN, ;++ WRONG NODE NUMBER IN DDB
REP 19/171 ;11C3
IFN FTPI,<MOVEI T1,IR.IER!IR.OER!IR.DOL> ;NODE DOWN PSI FLAGS
WIT
IFN FTPI,<MOVEI T1,IR.IER!IR.OER!IR.DOL> ;NODE DOWN PSI FLAGS
REP 23/171 ;11C4
; T1 CONTAINING PSI REASON FLAGS, T2 CONTAINING EXTENDED ERROR CODE
NTDNW1: DPB T2,PDVESE## ;SET EXTENDED (DEVOP.) ERROR STATUS CODE
NTDNW2: LDB T2,PJOBN ;GET OWNING JOB (IF ANY)
JUMPE T2,NTDNW7 ;NO PSI/NETWAK IF NO JOB
IFN FTPI,<
MOVE T2,DEVMOD(F) ;GET DEVICE ACTIVITY FLAGS
TRNE T2,ASSCON!ASSPRG;DEVICE DEFINITELY IN USE BY A JOB?
PUSHJ P,PSIDVB## ;YES, GIVE THE DEVICE OFFLINE/ETC. INTERRUPT
> ;END IFN FTPI
MOVE S,DEVIOS(F) ;GET THE WORD WITH THE DIRECTION BIT IN IT
MOVEI T1,NTDIAV ;ASSUME THAT THE DEVICE IS DOING INPUT
TLNE S,IO ;BUT IF IT'S DOING OUTPUT,
MOVEI T1,NTDOAW ;THEN CHANGE OUR MIND
PUSHJ P,(T1) ;CALL ROUTINE TO WAKE JOB. (UNDERSTANDS DEPAIO)
WIT
; T1 CONTAINING THE PSI REASON FLAGS, T2 CONTAINING EXTENDED ERROR CODE
NTDNW1: DPB T2,PDVESE## ;SET EXTENDED (DEVOP.) ERROR STATUS CODE
NTDNW2: LDB T2,PJOBN## ;GET OWNING JOB (IF ANY)
JUMPE T2,NTDNW7 ;NO PSI/NETWAK IF NO JOB
MOVE T2,DEVMOD(F) ;GET DEVICE ACTIVITY FLAGS
TRNN T2,ASSCON!ASSPRG;DEVICE DEFINITELY IN USE BY A JOB?
JRST NTDNW4 ;UNCLEAR, MAKE SURE NOT STUCK IN "EW"
IFN FTPI,<PUSHJ P,PSIDVB##> ;YES, GIVE THE DEVICE OFFLINE/ETC. INTERRUPT
MOVE S,DEVIOS(F) ;DEVICE STATUS FLAGS
TLZ S,IOSTBL ;CLEAR TROUBLE SO SETIOD CALLS WAKJOB
PUSHJ P,SETIOD## ;WAKE UP JOB IF HIBERING ON ASYNC I/O
NTDNW4: PUSHJ P,NETWAK ;WAKE UP JOB IF IN ANF "EW" STATE
DEL 42/171 ;11C5
SUM 170726