Table of Contents

DMKNLE Abstract

Statistics

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

Synopsis

Module

       DMKNLE

Function

       TO PERFORM THE DUMP FUNCTION ON THE 3705 INDICATED.

Attributes

       REENTRANT, PAGEABLE, CALLED VIA SVC

Operation

       1. DETERMINE WHETHER ENTRY WAS FROM SYSTEM OR VIA NETWORK
          CONSOLE COMMAND. IF ENTERED FROM SYSTEM, GO TO STEP 11.
          OTHERWISE SET NETWORK CALL FLAG AND CONTINUE.
       2. CALL DMKSCNFD TO GET 'RADDR' OPERAND FROM COMMAND LINE.
          IF NO OPERAND, CALL DMKERMSG TO SEND MESSAGE DMKNLE021E.
       3. CALL DMKCVTHB TO CONVERT 'RADDR' TO BINARY. IF ERROR ON
          CONVERSION, CALL DMKERMSG TO SEND MESSAGE DMKNLE021E.
       4. CALL DMKSCNRU TO GET REAL DEVICE (RDEVBLOK) FOR 'RADDR'
          DEVICE. IF DEVICE DOES NOT EXIST, CALL DMKERMSG TO SEND
          MESSAGE DMKNLE040E.
       5. DETERMINE WHETHER 'RADDR' DEVICE IS A 370X. IF NOT, CALL
          DMKERMSG TO SEND DMKNLE006E MESSAGE.
       6. CHECK IF 370X IS CURRENTLY OFFLINE. IF SO, CALL DMKERMSG
          TO SEND MESSAGE DMKNLE046E.
       7. DETERMINE IF 370X IS DEDICATED TO A USER. IF YES, CALL
          DMKERMSG TO SEND MESSAGE DMKNLE140.
       8. CALL DMKSCNFD TO GET DUMP OPTIONS (IF ANY).
       9. IF NO OPTIONS, DEFAULT TO 'IMMED' AND GO TO STEP 11.
       10. IF OPTION IS 'OFF' OR 'AUTO' , REFLECT STATUS IN
           APPROPRIATE BIT (RDEVAUTO) OF RDEVBLOK OF 370X AND EXIT.
           IF OPTION IS 'IMMED' GO TO STEP 28. IF ANY OTHER OPTION
           SPECIFIED, CALL DMKERMSG TO SEND MESSAGE DMKNLE003E.
       11. CALCULATE THE NUMBER OF SPOOL RECORDS ( IE. 1 RECORD
           PER 4K OF 370X STORAGE + 1) NEEDED FOR DUMP.
       12. CALL DMKPGTCG TO GET NECESSARY SPOOL SPACE. IF SPACE
           UNAVAILABLE, SEND MESSAGE;

          DMKNLE460E CTLR 'RADDR' DUMP FAILED: TEMP SPACE UNAVAILABLE

           AND EXIT TO CALLER.
       13. CALCULATE MAXIMUM NUMBER OF PAGES / CYL FOR THE
           ALLOCATED SPOOL DEVICE.
       14. GO TO IOBINIT SUBROUTINE TO GET AND INITIALIZE AN
           IOBLOK AND ADDITIONAL SAVE AREA FOR USE BY THE 370X
           I/O ROUTINE.
       15. IF DUMP FUNCTION WAS REQUESTED VIA CONSOLE COMMAND,
           ISSUE A TIO TO THE 370X TO DETERMINE ITS STATUS (THIS
           IS UN-NECESSARY IF THE CALLER WAS A SYSTEM ROUTINE).
       16. GO TO SNDBOOTS SUB-ROUTINE TO TRANSMIT THE OS/360 DUMP
           BOOTSTRAP PROGRAM TO THE 370X. ANY ERRORS THAT OCCUR
           DURING THE BOOTSTRAP ROUTINE WILL RESULT IN  MESSAGE:

                DMKNLE460E CTLR 'RADDR' DUMP FAILED; PROGRAM CHECK

       17. CALL DMKPGTVG TO GET A PAGE OF CP PAGEABLE CORE FOR USE
           AS A BUFFER.
       18. TRANS IN BUFFER PAGE TO GET REAL ADDRESS.
       19. BUILD CCWS TO READ IN RECORD CONTAING 370X LOCAL
           STORE CONTENTS AND END OF CORE ADDRESS AND GO TO 370X
           I/O ROUTINE.
       20. INSURE VALIDITY OF 370X END OF CORE ADDRESS AND CORRECT
           DATA IN GROUP 0 REGISTERS IF 370X IS 48K OR LESS.
           ( THIS CODE IS EXTRACTED FROM THE OS/360 NCP DUMP UTILITY)
       21. WRITE 370X REGISTER DATA AND END OF CORE ADDRESS TO SPOOL
           FILE.
       22. READ SUCCESSIVE 512 BYTE RECORDS FROM 370X, BLOCK INTO
           PAGE SIZE (4K) SPOOL RECORDS AND WRITE TO SPOOL FILE.
       23. WHEN END OF 370X CORE ADDRESS IS REACHED, CALL DMKFREE TO
           GET CORE FOR A SPOOL FILE CONTROL BLOCK.
       24. FILL IN SFBLOK, AND QUEUE ON RDR SPOOL CHAIN FOR SYSTEM
           DUMP ID.
       25. IF ANY SPOOL RECORDS REMAIN, CALL DMKPGTCR TO RELEASE THEM
       26. UNLOCK AND RELEASE BUFFER, FREE IOBLOK AND SAVE AREA,
           AND EXIT TO CALLER.

Calls to Other Routines

       DMKSCNFD - TO LOCATE NEXT ARGUMENT IN THE COMMAND LINE
       DMKCVTHB - CONVERT HEXADECIMAL ADDRESSES TO BINARY
       DMKSCNRU - TO LOCATE ADDRESSES OF THE REAL DEVICE BLOKS
       DMKQCNWT - TO OUTPUT MESSAGES TO THE TERMINAL
       DMKFREE - TO OBTAIN STORAGE FROM FREE STORAGE
       DMKFRET - TO RETURN STORAGE TO FREE STORAGE
       DMKPGTVG - TO GET A BUFFER OF PAGEABLE CP CORE.
       DMKPGTVR - TO RELEASE A BUFFER OF PAGEABLE CP CORE.
       DMKPTRUL - TO UNLOCK A PAGE IN VIRTUAL MACHINE
       DMKERMSG - TO SEND ERROR MESSAGES TO THE TERMINAL.
       DMKPTRAN - TO BRING A PAGE IN CORE
       DMKCVTBH - CONVERT BINARY DATA TO HEXADECMAL
       DMKSTKIO - TO STACK AN I/O BLOCK FOR PROCESSING
       DMKRPAPT - TO WRITE A PAGE IN CORE TO DASD
       DMKIOSQR - TO PERFORM I/O OPERATIONS ON 3705
       DMKCKSPL - TO CHECKPOINT DUMP SPOOL FILE BLOCK