Table of Contents

DMTINI Abstract

Statistics

Type ASSEMBLE
Source Lines : 905
Fixes Applied : 0
Most Recent Version : Thursday, December 7, 1978
Last Fix ID : [Unmodified]

Synopsis

Module

       DMTINI

Function

       DMTINI RECEIVES CONTROL AFTER INITIAL LOADING OF RSCS,
       AND PERFORMS INITIALIZATION FUNCTIONS WHICH ARE GENERAL
       AND COMMON TO ALL PARTS OF THE SUBSYSTEM.  DMTINI
       OPTIONALLY WRITES A COPY OF THE INITIAL LOAD TO DASD
       ACCORDING TO OPERATOR INSTRUCTIONS WHEN THE SUBSYSTEM
       IS FIRST LOADED FROM THE GENERATION IPL DECK.
       WHEN IPL'ED FROM DISK, DMTINI COMPLETES READING
       OF THE SAVED SUBSYSTEM LOAD.  WHEN IPL DISK WRITING
       OR READING IS COMPLETE, DMTINI PERFORMS ITS RSCS
       INITIALIZATION FUNCTIONS.

Attributes

       RESUABLE

Operation

       DMTINIR - READ A NUCLEUS INTO MAIN STORAGE

       1.  STORE THE DATA ADDRESS IN THE READ CCWS.

       2.  READ ONE TRACK OF THE NUCLEUS FROM THE IPL DEVICE.

       3.  IF THE NUCLEUS IS NOT COMPLETELY READ, GO TO STEP 1.

       4.  GO TO LABEL INIEXIT TO CONTINUE WITH THE INITIALIZATION.

       DMTINIW - WRITE A NUCLEUS ONTO A DASD DEVICE

       1.  SEE IF A CONSOLE EXISTS AT ADDRESS 009.  IF NOT, WAIT FOR
           AN INTERRUPT FROM A CONSOLE DEVICE.

       2.  ASK THE USER TO ENTER THE SYSTEM DISK ADDRESS.

       3.  ASK THE USER IF HE WANTS TO WRITE THE NUCLEUS ONTO A DASD
           DEVICE.  IF HE DOES NOT, GO TO LABEL INIEXIT.

       4.  ASK THE USER FOR THE IPL DEVICE ADDRESS AND VERIFY THAT
           IS A SUPPORTED DASD TYPE DEVICE.

       5.  INITIALIZE THE DEVICE TYPE DEPENDENT VALUES.

       6.  ASK THE USER FOR THE CYLINDER NUMBER ON WHICH TO WRITE
           THE NUCLEUS AND VERIFY THAT THE NUCLEUS WILL NOT OVERLAY
           ANY CMS FILES ON THE DISK.

       7.  ASK THE USER IF THE IPL TEXT IS ALSO TO BE WRITTEN ON
           CYLINDER 0 AND SET THE SWITCH ACCORDINGLY.

       8.  WRITE THE IPL TEXT ON THE NUCLEUS CYLINDER AND ON
           CYLINDER 0 IF REQUESTED.

       9.  STORE THE DATA ADDRESS IN THE WRITE CCWS AND THE CYLINDER
           NUMBER IN THE SEEK AND SEARCH ADDRESSES.

       10. WRITE ONE TRACK OF THE NUCLEUS ONTO THE IPL DEVICE.

       11. IF THE NUCLEUS IS NOT COMPLETELY WRITTEN, GO TO STEP 10.

       12. GO TO LABEL INIEXIT TO CONTINUE WITH THE INITIALIZATION.

       INIEXIT - COMPLETE INITIALIZATION AND BEGIN PROCESSING

       1.  ACQUIRE THE DASD DEVICE TYPE FROM VM/370, AND SET
           THE DASD CUU ADDR, TYPE CODE, AND DEVICE DEPENDENT
           VARIABLE TABLE IN THE DMTCRE DASD ACCESS CONTROL AREA.

       2.  CLEAR THE FIRST 88 BYTES OF LOW VIRTUAL STORAGE,
           CLEAR THE GENERAL REGISTERS, SET THE TIMER WORD TO
           X'FFFFFFFF', AND SET THE RSCS NEW PSW VALUES.

       3.  INITIALIZE THE MAIN STORAGE MAP AND MAIN STORAGE
           SIZE WORD.

       4.  INITIALIZE THE SUPERVISOR QUEUE AND SET ALL ELEMENTS
           FREE TO START.

       5.  REQUEST A FREE SUPERVISOR QUEUE ELEMENT, BUILD AND
           ENQUEUE THE REX TASK ELEMENT.

       6.  RESERVE REX TASK STORAGE IN THE MAIN STORAGE MAP.

       7.  EXIT TO THE RSCS DISPATCHER TO BEGIN PROCESSING.

Calls to Other Routines

       DMTQRQ -   TO REQUEST A FREE SUPERVISOR QUEUE ELEMENT
       DMTDSP -   TO BEGIN RSCS DISPATCHING