APRIN1: 0 ;USER ENABLED CPU FLAGS\r
CLKS17: 0 ;PLACE TO SAVE AC17 ON CLOCK INTERRUPT\r
DAMESS: ASCIZ /-JAN-/\r
-\r
CLOCK: POINT 36,CIPWTM,35 ;BYTE POINTER TO CLOCK REQ QUEUE\r
>\r
\f INTERN APRINT\r
MOVEI PDP,NULPDL ;NULL JOB PD LIST\r
HRLI PDP,MJOBP1 ;USED TO CALL SCHEDULER AND COMMAND DECODE\r
; OTHERWISE GET PD OUF\r
+\r
JRST RSCHED ;GO RESCHEDULE\r
\r
+\r
;HERE AT UUO LEVEL WHEN CURRENT JOB RETURNS TO USER MODE\r
;FROM A UUO CALL AND EITHER:\r
; 1. CURRENT JOB TYPED CONTROL C WHILE IN EXEC MODE\r
ADDI TAC,1 ;MAKE IT NO. OF 1K BLOCKS\r
ADDM TAC,JBTKCT(ITEM) ;ADD IN ACCUMULATED CORE RUNNING TIME PRODUCT\r
; (KILO-CORE TICKS)\r
-\r
IFN FT2REL,<\r
EXTERN CHGHGH\r
PUSHJ PDP,CHGHGH ;CHARGE USER FOR HIGH SEGMENT IF HE HAS ONE\r
MOVE TAC, @CLOCK\r
SOS CLOCK\r
MOVEM TAC, (STOR)\r
- CONI PI,PION\r
+ CONO PI,PION\r
LDB TAC, [POINT 6, TAC1, 23] ;GET 6 BIT DATA ITEM\r
MOVSS TAC1 ;SETUP DISPATCH ADDRESS\r
PUSH PDP, STOR ;SAVE ONLY VALUABLE AC\r
EXTERN JOB,JBTADR,JOBADR,USRREL,JBTDAT,JOBDAT,JOBREL,KT10A\r
\r
SETREL: MOVE ITEM,JOB ;CURRENT JOB NUMBER\r
-\r
SETRL1: MOVE PROG,JBTADR(ITEM) ;XWD PROTECTION,RELOCATION FOR LOW SEG\r
MOVEM PROG,JOBADR ;SAVE TO MAKE UUO HANDLER FASTER\r
HLRZM PROG,USRREL ;SAVE PROTECTION FOR ADDRESS CHECKING\r
MOVE TAC,JOBENB(JA) ;USER APR CONSO FLAGS (THE ONES HE WANTS TO HANDLE\r
; FALL INTO SETAPR ROUTINE\r
\r
+\r
;ROUTINE TO ENABLE/DISABLE APR FOR TRAPPING TO USER AND EXEC\r
;CALL: MOVE TAC, APR, CONSO FLAGS FOR USER TRAPPING\r
; PUSHJ PDP,SETAPR\r
\f\r
;ROUTINE TO STOP USER AND FLAG AS ERROR STOP\r
\r
+\r
INTERNAL ESTOP,ESTOP1\r
EXTERNAL JBTSTS,STUSER,STREQ,STAVAL\r
EXTERNAL SCHEDF,JOB,CPOPJ\r
>\r
POPJ PDP,\r
\r
-;ROUTINE TO PUT JONB IN NO CORE QUEUE\r
+;ROUTINE TO PUT JOB IN NO CORE QUEUE\r
+\r
\r
INTERNAL FTSWAP\r
IFN FTSWAP,<INTERNAL NOCORQ\r
JRST SETRUN ;SET TTY TO START JOB WHEN COMMAND RESPONSE\r
; IS FINISHED AND KEEP TTY IN MONITOR MODE\r
\r
+\r
;ROUTINE TO SETUP ACS FOR MONITOR JOB STARTING AT UUO LEVEL\r
;SETS UP ITEM, WITH JOB NO.; PROG WITH RELOCATION, AND PDP\r
;WITH PUSH DOWN LIST ADR. IN JOB DATA AREA\r
;JOB NO. IN AC TAC\r
\r
INTERNAL WAKE\r
-\r
EXTERNAL PJBSTS,RNQ,SLPQ\r
\r
WAKE: MOVEI TAC1,RNQ ;RUN QUEUE CODE\r
SOSL DCREQ ;NO, REDUCE DATA CONTROL REQUEST\r
SETOM DCAVAL ;SET AVAIL., SOME OTHER JOB WAITING FOR IT\r
JRST GETWT ;TRY AGAIN\r
-\f;ROUTINE TO WAIT FOR A SHARABLE DEVICE\r
+\f\r
+;ROUTINE TO WAIT FOR A SHARABLE DEVICE\r
;CALLED AT UUO LEVEL ONLY BY DEVICE SERVICE ROUTINES\r
;CALL: AOSLE XXREQ ;ADD 1 TO SHARABLE DEVICE REQUEST COUNT\r
; ;IS DEVICE AVAILABLE?\r
; RETURN IMMEDIATELY IF DEVICE IS INACTIVE\r
; RETURN WHEN DEVICE FINISHES NEXT BUFFER IF IT IS ACTIVE\r
\r
+\r
INTERNAL WSYNC\r
EXTERNAL IOWQ,TIOWQ,PION,PIOFF\r
\r