Table of Contents

DMKCFH Abstract

Statistics

Type ASSEMBLE
Source Lines : 643
Fixes Applied : 6
Most Recent Version : Thursday, December 7, 1978
Last Fix ID : [HRC106DK]

Synopsis

Module

       DMKCFHSV

Function

       TO SAVE A PAGE FORM VERSION OF A SYSTEM'S VIRTUAL STORAGE SPAC
       INCLUDING REGISTERS AND PSW AS THEY CURRENTLY EXIST.  THE NAME
       OF THE SYSTEM AND THE DASD LOCATION AT WHICH IT IS TO BE SAVED
       IS DEFINED IN THE CP MODULE DMKSNT.

Attributes

       REENTRANT, PAGEABLE, CALLED VIA SVC

Operation

       1. CALL DMKSCNFD TO GET THE SYSTEM-NAME ARGUMENT. IF
          NONE IS FOUND, CALL DMKERMSG TO SEND ERROR MESSAGE
          DMKCFH026E.
       2. TRANS IN AND LOCK THE SYSTBL. THEN SCAN THE SYSTBL TO
          FIND THE ENTRY FOR THE SPECIFIED NAME. IF NONE IS FOUND,
          CALL DMKERMSG TO SEND ERROR MESSAGE DMKCFH044E.
       3. IF THE VIRTUALSTORAGE IS NOT LARGE ENOUGH TO CONTAIN
          THE NAMED SYSTEM, CALL DMKERMSG TO SEND ERROR MESSAGE
          DMKCFH170E.
       4. CALL DMKSCNVS TO FIND THE VOLUME CONTAINING THE VIRTUAL
          SYSRES. IF NOT FOUND, CALL DMKERMSG TO SEND ERROR MESSAGE
          DMKCFH171E.
       5. CALL DMKSCNVU TO GET THE VIRTUAL DEVICE BLOKS FOR THE
          VIRTUAL SYSRES. IF NOT FOUND, CALL DMKERMSG TO SEND ERROR
          MESSAGE DMKCFH173E. IF HAVE THE DEVICE BLOKS, BUT THE
          MINI DISK IS NOT AT THE CYLINDER SPECIFIED IN THE SYSTBL,
          CALL DMKERMSG TO SEND ERROR MESSAGE DMKCFH172E.
       6. CALL DMKSCNVS TO FIND THE VOLUME THAT IS TO CONTAIN THE
          SAVED SYSTEM. IF NOT FOUND, CALL DMKERMSG TO SEND ERROR
          MESSAGE DMKCFH171E. IF THIS VOLUME IS NOT A CP OWNED
          VOLUME, CALL DMKERMSG TO SEND ERROR MESSAGE
          DMKCFH179E. IF ALL OK, CHECK FOR ANY
          PENDING INTERRUPTS IN THE VIRTUAL MACHINE. IF NONE ARE
          FOUND, GO TO STEP 9.
       7. CALL DMKQCNWT TO SEND THE INTERRUPT PENDING MESSAGE.
          THEN CALL DMKQCNRD TO READ THE REPLY.
       8. IF THE REPLY WAS YES, CONTINUE - ELSE GO TO STEP 13.
       9. SET UP THE NEXT GROUP OF PAGES (SPECIFIED IN THE SYSTBL)
          TO BE SAVED. CALL DMKFREE TO OBTAIN FREE STORAGE
          FOR A STORAGE KEY BUFFER.
       10.TRANS IN THE NEXT PAGE TO BE SAVED. CALL DMKRPAPT TO
          WRITE THE PAGE TO THE SYSVOL. SAVE THE STORAGE KEYS FOR
          THIS PAGE.
       11.IF ALL THE PAGES IN THIS GROUP HAVE BEEN PROCESSED, GO TO
          STEP 12. ELSE - BUMP TO THE NEXT PAGE AND GO BACK TO
          STEP 10.
       12.IF THERE ARE MORE PAGE GROUPS TO PROCESS, GO BACK TO
          STEP 9. IF NOT, TRANS IN USER PAGE ZERO. STORE THE VIRTUAL
          PSW,REGISTERS, AND KEYS IN THIS PAGE. THEN CALL DMKRPAPT
          TO WRITE THIS PAGE OUT TO THE SYSVOL.
       13.CALL DMKPTRUL TO UNLOCK THE SYSTBL. IF THE SAVE WAS NOT
          COMPLETED DUE TO AN ERROR - EXIT. IF IT WAS A GOOD
          SAVE, CALL DMKQCNWT TO SEND THE 'SYSTEM SAVED' MESSAGE
          AND EXIT.

Calls to Other Routines

       DMKCVTBH - TO CONVERT BINARY TO HEX
       DMKERMSG - TO SEND ERROR MESSAGES TO TERMINAL
       DMKFREE  - TO OBATIN BUFFER SPACE FOR STORAGE KEYS
       DMKFRET  - TO RETURN FREE STORAGE USED FOR BUFFER SPACE
       DMKPTRAN - LOCATE AND FETCH A PAGE OF VIRTUAL STORAGE
       DMKPTRLK - TO LOCK A PAGE IN CORE
       DMKPTRUL - TO UNLOCK A PAGE
       DMKQCNRD - TO READ RESPONSE FROM A CONSOLE
       DMKQCNWT - TO WRITE A MESSAGE TO CONSOLE
       DMKRPAGT - TO GET A PAGE FROM BACKING DEVICE
       DMKRPAPT - TO WRITE A PAGE TO BACKING DEVICE
       DMKSCNFD - LOCATE THE NEXT ARGUMENT ON THE COMMAND LINE
       DMKSCNVS - TO FIND A VOLUME
       DMKSCNVU - TO FIND A VIRTUAL UNIT