Type ASSEMBLE
Source Lines : 1,026
Fixes Applied : 10
Most Recent Version : Monday, January 22, 1979
Last Fix ID : [HRC075DK]
Function
PAGABLE ERROR RECORDING MODULE. CALLED AT INITIALIZATION TIME TO LOCATE THE ERROR RECORDING DEVICE,LOCATE THE LAST RECORDINGS MADE ON THE CYLINDERS, AND SET THE IN-CORE POINTERS TO THE PROPER VALUES. INITIALIZATION FOR 'RMS' FUNCTIONS IS PERFORMED AFTER FIRST MAKING A TEST TO DETERMINE IF WE ARE CP RUNNING UNDER CP. RMS FUNCTIONS WILL NOT BE ACTIVATED FOR A VIRTUAL CP ENVIRONMENT. THE MODULE IS ALSO USED TO ERASE THE RECORDING AREAS.
Attributes
PAGABLE,SERIAL-REUSABLE,CALLED VIA SVC.
Operation
1. DETERMINE IF WE ARE RUNNING AS A VIRTUAL CP, IF WE ARE PUT 'WAIT' BIT ON IN THE MCH NEW PSW AND SKIP TO STEP 4. 2. CALL DMKFREE TO RESERVE CORE STORAGE FOR LOGOUT, MCHAREA, AND CPEXBLOK FOR EACH PROCESSOR. 3. INITIALIZE THE MCH LOGOUT POINTERS AND CONTROL REGISTERS 14 AND 15. 4. FIND STARTING CYL FOR ERROR RECORDING SPECIFIED AT SYSGEN IN DMKSYSER. 5. DETERMINE THE IPL DEVICE (SYSIPLDV). 6. CALL DMKSCNRU TO GET RDEVBLOK ADDRESS FOR IPL DEVICE 7. SET THE VALUES FOR 'MAXPAGES' AND 'NINETY PRCNT FULL' AS DETERMINED FROM RDEVTYPE. 8. CALL DMKPGTVG TO GET A VIRTUAL PAGE. 9. CALL DMKRPAGT TO READ A PAGE INTO CORE. 10.IF THE FORMAT OF THE PAGE IS NOT VALID, GO TO STEP 14. 11. IF THE PAGE IS NOT FULL, GO TO THE NEXT STEP. IF IT IS FULL, BUMP THE PAGE NUMBER IN THE CCPD TO THE NEXT PAGE. IF END OF THE RECORDING CYLS IS REACHED, GO TO STEP 19. IF NOT, READ IN THE PAGE & REPEAT THIS STEP UNTIL A USABLE PAGE IS FOUND OR END OF REC. AREA IS REACHED 12. SET THE PAGE IN USE FLAG AND WRITE THE PAGE BACK OUT TO THE DASD. SET UP THE IN-STORAGE POINTERS AND EXIT. 14. SET UP THE FLAGS IN THE FIRST PAGE TO INDICATE A FORMAT IS IN PROCESS AND WRITE THE FIRST PAGE BACK TO THE DASD. 15. READ IN THE REST OF THE PAGES FROM REC. CYLS INITIALIZE, AND WRITE BACK OUT. 16. READ THE FIRST PAGE BACK IN AND INITIALIZE WITH THE NORMAL FORMAT, AND WRITE BACK OUT TO THE DASD. 17. IF THIS IS A 'CLEARF' OPERATION, OR IF THIS IS INITIAL FORMATTING WHEN INITIALIZING A 3033/3032/3031 PROCESSOR, CALL DMKIOGFR TO FORMAT FRAME RECORDS. 18. IF THIS IS A CLEAR OPERATION, GO TO STEP 3 IN THE DESCRIPTION FOR DMKIOGF2. IF NOT, SET UP THE IN STORAGE POINTERS AND EXIT. AND EXIT. 19. SET UP RECORDING AREA FULL MSG;CALL DMKQCNWT TO SEND THE MSG. SET THE AREA FULL FLAG IN DMKIOE. EXIT.
Calls to Other Routines
DMKPGTVG - TO GET VIRTUAL PAGES. DMKPGTVR - TO RELEASE VIRTUAL PAGES. DMKSCNRU - TO GET IPL DEV. RDEVBLOK ADDRESS. DMKQCNWT - TO WRITE MSGS. TO THE OPERATOR. DMKRPAGT - TO READ A PAGE INTO CORE. DMKRPAPT - TO WRITE A PAGE TO RECORDING CYLINDER. DMKERMSG - TO WRITE OUT ERROR MESSAGES DMKPTRLK - TO LOCK A PAGE. DMKPTRUL - TO UNLOCK A PAGE. DMKIOHFR - TO INITIALIZE FRAME RECORDS ON A 303X.