COMSDFT 
COMMON
          CTEXT  COMSDFT - *DFT* DEFINITIONS. 
          BASE   M
*         COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992. 
          SPACE  4,10 
***       COMSDFT - *DFT* DEFINITIONS.
*         D. K. ELDRED.      86/05/01.
          SPACE  4,10 
***              COMSDFT DOCUMENTS THE INTERFACE USED BY NOS TO 
*         COMMUNICATE WITH THE *DFT* SOFTWARE.
          SPACE  4,55 
***       DFT/OS BUFFER.
* 
*         THE DFT/OS BUFFER IS POINTED TO BY THE *EICB* AND CONTAINS
*         SEVERAL TYPES OF INFORMATION. 
* 
* 
*         1)  THE FIRST SECTION OF THE DFT/OS BUFFER CONSISTS OF A
*             CONTROL WORD -
* 
*T DOCW   4/ NHW, 8/ SEQ, 8/ RL, 8/ PP, 8/ LBUF, 8/ NBUF, 16/ FLAGS 
* 
*         NHW   = NUMBER OF HEADER WORDS (CONTROL WORD AND POINTERS.) 
*         SEQ   = NEXT SEQUENCE NUMBER TO BE ASSIGNED.
*         RL    = REVISION LEVEL OF THE INTERFACE (CURRENTLY RL=2). 
*         PP    = HARDWARE LOGICAL PP NUMBER WHERE *DFT* IS EXECUTING.
*         LBUF  = LENGTH OF EACH MAINTENANCE REGISTER BUFFER IN CM
*                 WORDS.  THIS MUST BE A MULTIPLE OF 5 WORDS AND IS 
*                 MAINFRAME DEPENDENT.
*         NBUF  = NUMBER OF MAINTENANCE REGISTER BUFFERS. 
*         FLAGS = REFER TO DOCUMENTATION BELOW. 
* 
* 
*         2)  THE SECOND SECTION OF THE DFT/OS BUFFER CONSISTS OF 
*             SEVERAL POINTERS TO THE REMAINING SECTIONS OF THE TABLE.
* 
*T PTR    12/ OFFSET, 6/, 10/ R-UPPER, 4/, 12/ R-LOWER, 16/ LENGTH
* 
*         THE ABSOLUTE CM ADDRESS OF EACH ITEM IS FORMED BY LOADING THE 
*         *R* REGISTER OF THE PP WITH THE SPECIFIED VALUE (22 BITS) AND 
*         ACCESSING 400000B+OFFSET.  THE LENGTH OF AN INDIVIDUAL ENTRY
*         IS A CM WORD MULTIPLE.
* 
* 
*         THE REMAINING SECTIONS OF THE DFT/OS BUFFER CONSIST OF -
* 
*         3)  MAINTENANCE REGISTER BUFFER CONTROL WORDS.
*         4)  MAINFRAME ELEMENT COUNTERS (POINTER IS *DFME*). 
*         5)  SECDED ID TABLE (POINTER IS *DFSI*).
*         6)  MAINTENANCE REGISTER BUFFERS (POINTER IS *DFMR*). 
*         7)  MODEL DEPENDENT BUFFER (POINTER IS *DFMD*). 
* 
* 
*         THE DFT/OS BUFFER ALSO CONTAINS POINTERS TO SEVERAL AREAS 
*         ALLOCATED BY THE OPERATING SYSTEMS OUTSIDE THE DFT/OS BUFFER
*         AREA.  THE POINTER FORMAT IS THE SAME AS PREVIOUSLY SHOWN.
* 
*         1)  NOS/VE BUFFER (ALLOCATED AND USED BY NOS/VE). 
*         2)  PP RESIDENT SAVE AREA.
*         3)  NOS REQUEST AREA (ALLOCATED AND USED BY NOS). 
  
  
 BEGIN    BSSN
 DFCW     BSSN   1           CONTROL WORD 
 DFSI     BSSN   1           SECDED ID TABLE POINTER
 DFMR     BSSN   1           MAINTENANCE REGISTER BUFFERS POINTER 
 DFMD     BSSN   1           MODEL DEPENDENT BUFFER POINTER 
 DFNV     BSSN   1           NOS/VE BUFFER POINTER
 DFPS     BSSN   1           NOS BUFFER POINTER (USED FOR PP RESIDENT)
 DFRQ     BSSN   1           NOS REQUEST AREA POINTER 
 DFHL     BSSN   0           LENGTH OF HEADER 
  
*         THE FOLLOWING POINTERS ARE PRESENT ONLY FOR *DFT* VERSIONS
*         GREATER THAN 3. 
  
 DFBC     BSSN   1           M/R BUFFER CONTROL WORDS POINTER 
 DFEC     BSSN   1           ELEMENT COUNTER BUFFER POINTER 
 DFER     BSSN   1           *DFT* ERROR CONTROL RECORD POINTER 
 DFSS     BSSN   1           SUPPORTIVE STATUS BUFFERS POINTER
 DFNR     BSSN   1           NON-REGISTER STATUS POINTER
 DFCA     BSSN   1           *DFT* CMR AREA POINTER 
 DFPR     BSSN   1           PP REGISTER DATA 
 DFSD     BSSN   1           SECONDARY *DFT* BUFFER POINTER 
 END      BSSN
          SPACE  4,30 
***       NOS REQUEST PROTOCOL. 
* 
*         TO AVOID CONFLICTING OR OVERLAPPING REQUESTS, THE PROTOCOL
*         DESCRIBED HERE MUST BE USED BY ANY PP MAKING A *DFT* REQUEST. 
* 
*         1.  REQUESTING PP WILL ISSUE *UTEM* TO CHECK THE STATUS FIELD 
*         (BYTE 4) IN THE NOS REQUEST AREA HEADER AND, IF IT IS 
*         *INACTIVE* (STIN), SET STATUS = *INTERLOCKED* (STIK).  IF 
*         THE INTERLOCK WAS NOT OBTAINED, DELAY AND RETRY.
* 
*         2.  REQUESTING PP WRITES THE REQUEST DATA INTO THE NOS
*         REQUEST BUFFER. 
* 
*         3.  REQUESTING PP UPDATES NOS REQUEST AREA HEADER 
*         STATUS TO *READY* (STRY) AND EXITS. 
* 
*         4.  *MTR* WILL SEE THE REQUEST AND CALL *1MB* WHICH WILL
*         RESERVE THE CIP CHANNEL AND SET THE NOS REQUEST HEADER
*         STATUS = *ACTIVE* (STAC). 
* 
*         5.  *DFT* WILL SEE AN ACTIVE REQUEST AND PROCESS IT.  WHEN
*         THE REQUEST IS COMPLETE, *DFT* WILL SET STATUS = *INACTIVE*.
* 
*         6.  *1MB* WILL RELEASE THE CIP CHANNEL WHEN STATUS IS NO
*         LONGER *ACTIVE*.
          SPACE  4,25 
***       NOS REQUEST FORMAT - GENERAL. 
* 
*         EACH REQUEST HAS THE FOLLOWING GENERAL FORMAT.
* 
*T W0     4/ RC, 8/ TASKID, 8/ P1, 8/ P2, 8/ P3, 8/ P4, 8/ P5, 8/ P6
* 
*         RC     = REPLY CODE (SET BY *DFT*)
*                  1 = NO ERRORS ENCOUNTERED. 
*                  2 = AT LEAST ONE ERROR ENCOUNTERED.
* 
*         TASKID = N.  UNIQUE FOR EACH REQUEST TYPE.
* 
*         P1     = PARAMETER 1. 
*         . 
*         . 
*         . 
*         P6     = PARAMETER 6. 
* 
* 
*         IF NECESSARY, ADDITIONAL WORDS MAY BE PRESENT AND USED
*         TO CONTAIN ADDITIONAL PARAMETERS.  SINCE THE REQUEST IS 
*         WRITTEN BY NOS, THE UPPER 4 BITS OF THE CYBER 180 64-BIT
*         WORD CANNOT BE USED FOR COMMUNICATION.
 RQDT     SPACE  4,35 
***       NOS REQUEST FORMAT - UPDATE DATE/TIME.
* 
*         THE CTI CLOCK INFORMATION ON THE CIP DISK AND, IF PRESENT,
*         THE WALL CLOCK CHIP WILL BE UPDATED BY *DFT*. 
* 
*T W0     4/ RC, 8/ TASKID, 8/ YY, 8/ MM, 8/ DD, 8/ HH, 8/ MN, 8/ 0 
*T,W1     12/, 48/ *FRC* AT TIME OF REQUEST 
* 
*         RC     = REPLY CODE (SET BY *DFT*). 
*                  1 = NO ERRORS ENCOUNTERED. 
*                  2 = AT LEAST ONE ERROR ENCOUNTERED.
* 
*         TASKID = *RQDT* = 1.
* 
*         YY     = YEAR (PACKED). 
*         MM     = MONTH (PACKED. 
*         DD     = DAY (PACKED).
*         HH     = HOUR (PACKED). 
*         MN     = MINUTE (PACKED). 
*         FRC    = CURRENT FREE RUNNING COUNTER.
* 
* 
*         NOTES.
* 
*         1.  SINCE NO SECONDS FIELD EXISTS, THIS REQUEST MUST BE 
*         ISSUED IMMEDIATELY AFTER A MINUTE ROLLOVER. 
* 
*         2.  *PACKED* FORMAT FOR YY, MM, DD, HH, MN IS 4/TENS,4/UNITS
*         (CYBER 180 PACKED DECIMAL FORMAT.)
* 
*         3.  THE CIP CHANNEL MUST BE RESERVED BY *1MB* BEFORE *DFT*
*         IS ALLOWED TO PROCESS THIS REQUEST, SINCE *DFT* WILL UPDATE 
*         INFORMATION IN THE COMMON DISK AREA OF THE CIP DISK.
 RQTH     SPACE  4,40 
***       NOS REQUEST FORMAT - SET *DFT* ERROR THRESHOLDS.
* 
*T W0     4/ RC, 8/ TASKID, 8/ 0, 8/ V, 8/ ET, 8/ EI, 8/ CE, 8/ UC
*                            .
*                            .
*                            .
*T,W(N)   4/   , 8/ TASKID, 8/ 0, 8/ V, 8/ ET, 8/ EI, 8/ CE, 8/ UC
*T,LAST   60/0
* 
*         RC     = REPLY CODE (SET BY *DFT*). 
*                  1 = NO ERRORS ENCOUNTERED. 
*                  2 = AT LEAST ONE ERROR ENCOUNTERED.
* 
*         TASKID = *RQTH* = 2.
* 
*         V      = 5/,1/C,1/U,1/R 
*                  C=1 = SET CORRECTED THRESHOLD TO *CE*. 
*                  U=1 = SET UNCORRECTED THRESHOLD TO *UC*. 
*                  R=1 = WORD CONTAINS A VALID REQUEST. 
* 
*         ET     = ELEMENT TYPE.
*                  0 = IOU. 
*                  1 = CM.
*                  2 = CPU. 
* 
*         EI     = ELEMENT INDEX (CPU-0, CPU-1, ETC.) 
* 
*         CE     : CORRECTED ERROR THRESHOLD = 2**CE.  IF CE=0, ALL 
*                  ERRORS WILL BE LOGGED.  IF BIT 2**14 IS SET, NO
*                  ERRORS WILL BE LOGGED. 
* 
*         UC     : UNCORRECTED ERROR THRESHOLD = 2**UC.  IF UC=0, ALL 
*                  ERRORS WILL BE LOGGED.  IF BIT 2**6 IS SET, NO 
*                  ERRORS WILL BE LOGGED. 
* 
* 
*         MULTIPLE THRESHOLDS, IN ANY ORDER, MAY BE PRESENT, FOLLOWED 
*         BY A ZERO WORD. 
 RQSF     SPACE  4,30 
***       NOS REQUEST FORMAT - SET FREE-RUNNING COUNTER TO VALUE. 
* 
*         SET *FRC* TO THE SPECIFIED VALUE.  THIS REQUEST IS ISSUED BY
*         BY *VER* FUNCTION 15B WHICH IS ISSUED BY NOS/VE WHEN IT 
*         DETERMINES THAT THE RUNNING *FRC* VALUE IS NOT USABLE.
* 
*T W0     4/ RC, 8/ TASKID, 48/ DESIRED *FRC* VALUE 
* 
*         RC     = REPLY CODE (SET BY *DFT*). 
*                  1 = NO ERRORS ENCOUNTERED. 
*                  2 = AT LEAST ONE ERROR ENCOUNTERED.
* 
*         TASKID = *RQSF* = 3.
* 
* 
*         NOTES.
* 
*         1.  TO PREVENT PROBLEMS WITH CPU TIME ACCOUNTING, *1MB* MUST
*         ISSUE *UADM* SUBFUNCTION *FRAS* BEFORE THIS REQUEST IS SET
*         ACTIVE.  *CPUMTR* WILL LOOP IN MONITOR MODE UNTIL THE *FRC* 
*         UPDATE HAS OCCURRED.
* 
*         2.  THE CIP CHANNEL MUST BE RESERVED BY *1MB* BEFORE *DFT*
*         IS ALLOWED TO PROCESS THIS REQUEST, SINCE *DFT* WILL UPDATE 
*         INFORMATION IN THE COMMON DISK AREA OF THE CIP DISK.
          SPACE  4,10 
*         *DFT* CONTROL WORD FLAGS. 
  
  
 DCE7     EQU    0           C170 ERROR PRESENT 
 DCE8     EQU    1           C180 ERROR PRESENT 
 DCDM     EQU    2           DEDICATED MODE 
 DCLG     EQU    3           LOGGING MODE 
 DCCD     EQU    4           C170 DEDICATED MODE
 DCZC     EQU    5           ZERO COUNTERS AND SECDED TABLE 
 DCRJ     EQU    6           REVISION LEVEL REJECT
 DCVR     EQU    7           REVISION LEVEL VERIFICATION
          SPACE  4,10 
*         MAINTENANCE REGISTER CONTROL WORD FLAGS.
  
  
 MRV7     EQU    0           C170 VALID DATA
 MRV8     EQU    1           C180 VALID DATA
 MRIL     EQU    2           INTERLOCK
 MRLG     EQU    3           LOGGING ACTION 
 MRTH     EQU    4           THRESHOLD EXCEEDED 
 MRMD     EQU    6           MODEL DEPENDENT BUFFER DATA PRESENT
          SPACE  4,10 
*         *DFT* CONSTANTS.
  
  
 DIRL     EQU    5           *DFT* INTERFACE REVISION LEVEL 
 RQBL     EQU    10          NOS REQUEST AREA SIZE
 NUMR     EQU    16D         NUMBER OF MAINTENANCE REGISTER BUFFERS 
 MECB     EQU    10D         MAINFRAME ELEMENT COUNTER BUFFER SIZE
 M9DB     EQU    720D        CYBER 990 DEPENDENT BUFFER SIZE
 DFTBL    EQU    2           SIZE OF *DFT* BOOTSTRAP (CM WORDS) 
 DFPSL    EQU    MSFW/5+1+DFTBL  SIZE OF PP RESIDENT SAVE AREA
          SPACE  4,10 
*         *DFT* ERROR THRESHOLDS. 
* 
*         THRESHOLDS ARE EXPRESSED AS A POWER OF TWO; A VALUE OF ZERO 
*         IMPLIES LOGGING ALL ERRORS.  THE DEFAULT THRESHOLDS ARE 
*         PROCESSED BY *SET* DURING ALL LEVELS OF DEADSTART.
  
  
 THUE     EQU    8D          UNCORRECTED ERROR THRESHOLD (256)
 THCI     EQU    5           CORRECTED IOU ERROR THRESHOLD (32) 
 THCM     EQU    3           CORRECTED MEMORY ERROR THRESHOLD (8) 
 THCP     EQU    5           CORRECTED PROCESSOR ERROR THRESHOLD (32) 
  
*         DEFINE SECDED ID TABLE SIZE EQUAL TO CORRECTED MEMORY ERROR 
*         THRESHOLD.  THE SECDED ID TABLE IS PART OF THE DFT/OS BUFFER. 
  
 SIDLM    DECMIC THCM 
 SIDL     EQU    1S"SIDLM"   SECDED ID TABLE SIZE 
          SPACE  4,10 
*         NOS REQUEST TASKID-S. 
  
  
 RQDT     EQU    1           UPDATE DATE/TIME 
 RQTH     EQU    2           UPDATE ERROR THRESHOLDS
 RQSF     EQU    3           SET FREE-RUNNING COUNTER TO VALUE
          SPACE  4,10 
*         NOS REQUEST STATUS CODES. 
  
  
 STIN     EQU    0           INACTIVE - NO REQUEST IN PROCESS 
 STAC     EQU    1           ACTIVE - *DFT* WILL PROCESS
 STIK     EQU    2           INTERLOCKED - IGNORED BY *DFT* 
 STRY     EQU    3           READY - *1MB* WILL SET UP AND CALL *DFT* 
          SPACE  4,20 
*         DFT/OS ACTION CODES.
  
  
 BEGIN    BSSN   1
 EWAC     BSSN   1           ENVIRONMENT WARNING
 LPAC     BSSN   1           LONG POWER WARNING 
 SPAC     BSSN   1           SHORT POWER WARNING
 WCAC     BSSN   1           WARNING CLEAR
 FIAC     BSSN   1           FATAL IOU ERROR
 NVAC     BSSN   1           NOS/VE IOU ERROR 
 UMAC     BSSN   1           FATAL CM ERROR 
 MBAC     BSSN   1           MULTIPLE ODD BIT ERROR 
 UPAC     BSSN   1           FATAL CPU ERROR
 UIAC     BSSN   1           UNCORRECTED IOU ERROR
 MXAC     BSSN   0           MAXIMUM OS ACTION CODE (VERSION 3) 
  
 ISAC     BSSN   1           SYSTEM IDLE
 RSAC     BSSN   1           SYSTEM RESUME
 I7AC     BSSN   1           C170 STATE IDLE
 R7AC     BSSN   1           C170 STATE RESUME
 I8AC     BSSN   1           C180 STATE IDLE
 R8AC     BSSN   1           C180 STATE RESUME
 SSAC     BSSN   1           SYSTEM STEP
 USAC     BSSN   1           SYSTEM UNSTEP
 S7AC     BSSN   1           C170 STATE STEP
 U7AC     BSSN   1           C170 STATE UNSTEP
 S8AC     BSSN   1           C180 STATE STEP
 U8AC     BSSN   1           C180 STATE UNSTEP
 END      BSSN
          SPACE  4,10 
          BASE   *
          ENDX
