Table of Contents

DMKIOG Abstract

Statistics

Type ASSEMBLE
Source Lines : 1,026
Fixes Applied : 10
Most Recent Version : Monday, January 22, 1979
Last Fix ID : [HRC075DK]

Synopsis

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.