*COMDECK CMRDEF 
***       CPMTR DEFINITIONS 
* 
  
****
          IFEQ   IP.MCPU,2,1
CPUID     CEQU   7
CPUID     CEQU   0
  
****
**        CPUBITS - DEFINE CPU STATUS BITS
* 
          IF     -DEF,S.CPUSTW,1   DEFINE AS A MACRO IF IN CMRTEXT
CPUBITS MACRO 
  ECHO 2,BB=(Z,P,S,D,C,R,W,X,B,A,Y,M) 
MIC DECMIC S.CPUST_BB 
BB = 1S"MIC"
SUSPCPU   EQU    M+P+S+X+Y+Z
  ENDM
  
 OV.ABT   =      3RABT
 OV.END   =      3REND
 OV.DAC   =      3RDAC
 OV.RAC   =      3RRAC
 OV.RCL   =      3RRCL
 OV.SAC   =      3RSAC
 OV.SSC   =      3RSSC
 OV.SSF   =      3RSSF
 OV.TIM   =      3RTIM
 OV.XJR   =      3RXJR
* 
*         THE FOLLOWING PARAMETERS CAN BE ADJUSTED TO CONTROL CPU 
*         SCHEDULING
* 
 RCLPER   CEQU   25                25 MILLISECOND RECALL PERIOD 
 BASESLIC CEQU   18                18 MILLISECOND CPU SLICE 
LONGSLIC  CEQU   250         QTR SECOND WHEN ONLY ONE JOB NEEDS CPU 
***       SCHEDULER PERFORMANCE TABLE DEFINITIONS 
* 
****
W.PTCLK   EQU    1                 MILLISECOND CLOCK
W.PTIDL   EQU    2                 CPU IDLE 
W.PTSCP   EQU    3                 USER MODE SYSTEM PROGRAMS
W.PTPPI   EQU    4                 PPU IDLE TIME
W.PTCPU   EQU    14                NUMBER OF CPMTR CALLS
W.PTNST   EQU    15                NUMBER OF STORAGE MOVES
W.PTVST   EQU    16                NUMBER OF CM WORDS MOVED 
W.PTNSW   EQU    17                NUMBER OF SWAP/ROLL
W.PTVSW   EQU    18                NUMBER OF CM WORDS SWAPPED/ROLLED
W.PTTSW   EQU    19                TIME SPENT IN SWAPPING 
W.PTNJP   EQU    20                NUMBER OF JOBS PROCESSED 
W.PTFLG   EQU    0                 FLAG WORD
S.PTNSTD  EQU    0                 BENCHMARK OR MANUAL REQUESTED
S.PTINIT  EQU    1                 INITIALIZATION REQUESTED 
S.PTSTOP  EQU    2                 STOP DATA GATHERING FLAG 
S.PTBNCH  EQU    3                 BENCHMARK REQUESTED FLAG 
S.PTFJOB  EQU    4                 FIRST JOB FOUND FLAG 
C.PTFLG   EQU    4                 FLAG BYTE
****
* 
***       DEFINE JOB CLASSES
* 
* 
****
  
SCHJCA    MICRO  1,, F.JDGRA,F.JDEXP,F.JDMUJ,F.JDINT
  
****
*         ** TEMP. DEFINITIONS
 C.RBTMST EQU    2
 C.RBTODO EQU    4
 C.RBTAUS EQU    0
 S.RBTMST EQU    6
 S.RBTRBR EQU    3
 C.ESTAT  EQU    0
 S.ESTRID EQU    10D
* 
 C.DOTROR EQU    0                 BYTE FOR RESERVED SR ORD.
 C.DOTFST EQU    3                 BYTE FOR POINTER TO FIRST
 C.DOTLST EQU    4                 BYTE FOR POINTER TO LAST 
 C.DAMLAV EQU    4                 RBR HEADER 2ND WORD. NUMBER OF RBS 
 W.DADSZ  EQU    0
 W.DADCA  EQU    0
 N.RBMI   EQU    40B               MINIMUM NUMBER OF FREE RBS 
 N.RBMA   EQU    1000B             MAXIMUM NUMBER OF FREE RBS 
 RBRLG    EQU    70D               (((4096+59)/60+1)/2*2) 
 DAMLG    EQU    RBRLG+3
*         ** END TEMP.DEFINITIONS 
**    PARAMETERS RELATED TO INTEGRATED SCHEDULER
 IP.BRCL  CEQU   2000B
*                            SCHEDULER RECALL RATE (NO. OF MTR CYCLES)
IP.DECR   CEQU   400B 
*                            BASE PRIORITY DECREMENT (FOR INTERCOM JOBS)
 IP.IRCL  CEQU   500B 
*                            SCHEDULER RECALL RATE WHEN INTERCOM IS UP
IP.MXQT   CEQU   6000B
*                            MAXIMUM QUANTUM (PP TIME IN SEC/10B) 
IP.MXTIN  CEQU   6000B
*                            MAXIMUM TIME AT C.P. BEFORE LOWERING Q.P.
FINDESL   SPACE  4
***       RSVESL - RESERVE AN EMPTY SLOT IN REQUEST STACK 
* 
*         RSVESL REJECT 
* 
*         EXIT   B2 = ADDRESS OF STACK REQUEST ENTRY
*                X1 = ORDINAL OF EMPTY SLOT 
* 
*         EXIT TO -REJECT- IF NO EMPTY ENTRY
* 
*         ASSUMED - MX0 48
* 
*         REGISTERS USED - B2,X1,A2,X2,A6,X6
* 
RSVESL MACRO REJECT 
  SA2 =XT.RST 
  BX1 -X0*X2
  SB2 X1
  ZR X1,REJECT
  BX6 X0*X2 
  SA2 A2+B2 
  BX2 -X0*X2
  BX6 X6+X2 
  SA6 A2-B2 
  SX6 B2+B2 
  SX6 X6+B2 
  SB2 X6+=XT.RQS-3
RSVESL ENDM 
SHBY      SPACE  4
***       SHBY - SHIFTS BYTES 
* 
*         SHBY   XN,BA,BB 
* 
*         SHIFTS XN TO REPLACE BYTE BA BY BYTE BB, WHERE BA AND BB
*         ARE NUMBERED 0 TO 4 LEFT TO RIGHT 
* 
SHBY MACRO X,OLD,NEW
SHB#Y SET OLD-NEW 
  IFNE SHB#Y,0,4
  IFGT SHB#Y,0,2
  L_X 60-12*SHB#Y 
  SKIP 1
  L_X -12*SHB#Y 
SHBY ENDM 
* 
*         PP COMMUNICATION AREA-OFFSET RELATIVE TO PPOR 
PPIR      EQU    -1 
MSG1      EQU    1
MSG2      EQU    2
MSG3      EQU    3
MSG4      EQU    4
MSG5      EQU    5
MSG6      EQU    6
* 
*         FLAGS FOR COMMUNICATIONS FROM 1SP TO SPM IN MSG4
* 
BEOREOF   EQU    42                EOR/EOF FOUND IN READ
BFERROR   EQU    43                FATAL ERROR FOUND
BIDLED    EQU    44                DEVICE IDLED 
BILBROK   EQU    45                INTERLOCK BROKEN 
BNOPBXT   EQU    46                NO PB PROVIDED 
BTERM     EQU    24                SR TERMINATION REQUESTED 
* 
*         FLAGS SAVED IN MSG3 BY SPM
* 
BEBEOI    EQU    14                BOI/EOI AT LAST REQUEST
BCMACCS   EQU    15                CM ACCESS IS PROVIDED
BILUSER   EQU    16                SR FROM I/L USER 
BILREL    EQU    17                RELEASE I/L UNIT 
BFTHT     EQU    22D               SR FOR FULL-TRACKED (FT) PACK.       251530
FEBEOI    EQU    40000B 
FCMACCS   EQU    100000B
FILUSER   EQU    200000B
FLGMASK   EQU    6077B             MASK FOR FLAG BYTE IN PPMES3.
