Type ASSEMBLE
Source Lines : 905
Fixes Applied : 0
Most Recent Version : Thursday, December 7, 1978
Last Fix ID : [Unmodified]
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