Table of Contents

DMKVER Abstract

Statistics

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

Synopsis

Module

       DMKVER

Function

       TO PROCESS ERROR RECORDS PASSED FROM VIRTUAL MACHINES
       VIA AN SVC 76.

Attributes

       PAGEABLE,REENTRANT,CALLED VIA SVC

Operation

       1. DMKVERO - ENTRY FOR OS,VS,OR VM TYPE SYSTEM RECORDING. SET
          A FLAG TO INDICATE AN OS TYPE. CHECK IF THE PASSED RECORD
          RESIDES WITHIN THE LIMITS OF THE VIRTUAL MACHINE. IF IT
          DOES, GO TO STEP 3, ELSE RETURN TO DMKPSA TO REFLECT THE
          SVC BACK TO THE VIRTUAL MACHINE.
       2. DMKVERD - ENTRY FROM A DOS TYPE SYSTEM. THE LENGTH OF
          THE RECORD IS NOT KNOWN IN THIS CASE. IF AT LEAST THE
          RECORD HEADER RESIDES WITHIN THE LIMITS OF THE VIRTUAL
          MACHINES STORAGE, A RECORDING WILL BE ATTEMPTED. A RECORD
          SIZE OF 136 BYTES WILL BE USED IF IT WILL FIT IN USER
          STORAGE, ELSE A SIZE OF WHATEVER IS LEFT WILL BE USED.
       3. CALL DMKFREE TO OBTAIN STORAGE FOR A RECORD BUFFER. MOVE
          THE RECORD FROM USER STORAGE TO THE BUFFER.
       4. IF THE RECORD IS AN OS TYPE, GO TO STEP 5. IF A DOS TYPE,
          CHECK IF THE RECORD TYPE IS 'OBR'. IF NOT, WE DON'T HAVE
          A VALID RECORDING. IN THIS CASE - CALL DMKFRET TO RETURN
          THE BUFFER AND EXIT TO DMKPSA TO REFECT THE SVC TO THE
          VIRTUAL MACHINE. IF VALID, GO TO STEP 6.
       5. USE THE RECORD TYPE TO INDEX INTO A BRANCH TABLE WHICH
          WILL GIVE CONTROL TO THE APPROPRIATE CONVERSION ROUTINE
          OR IF INVALID RETURN TO DMKPSA TO REFLECT THE SVC.
       6. TYPE30 (OBR) - GO TO STEP 11 TO DO THE COMMON CONVERTS.
          IF THE DEVICE IS NONDEDICATED DASD, REPLACE THE VOLUME
          SERIAL, SEEK ADDRESS, AND H. A. WITH THE REAL DATA. ALSO
          UPDATE SENSE DATA FROM VIRTUAL TO REAL AND THEN GO TO
          STEP 12. IF THE DEVICE IS DEDICATED, GO RIGHT TO STEP 12.
       7. TYPE40 (ABEND) - GO TO STEP 11 TO DO THE COMMON CONVERTS
          AND THEN GO TO STEP 13.
       8. TYPE60 (DDR) - GO TO STEP 11 TO DO THE COMMON CONVERTS.
          CONVERT THE FROM AND TO CUA'S FROM VIRTUAL TO REAL
          AND GO TO STEP 13.
       9. TYPE70 (MIH) - GO TO STEP 11 FOR COMMON CONVERTS. THEN IF
          DEVICE IS NONDEDICATED DASD, UPDATE THE VOLUME SERIAL
          WITH THE REAL VOLUME SERIAL AND GO TO STEP 13. IF DEVICE
          IS DEDICATED, GO RIGHT TO STEP 13.
       10. TYPE90 (MDR) - GO TO STEP 11 TO DO THE COMMON CONVERTS
           AND THEN GO TO STEP 13.
       11. THIS ROUTINE WIIL CONVERT THE FIELDS COMMON TO MORE THAN
           ONE RECORD TYPE FROM VIRTUAL TO REAL. FAILING CUA'S WILL
           BE CONVERTED FOR TYPE 30,70, AND 90. THE PROGRAM NAME
           WILL BE REPLACED WITH THE USERID FOR TYPE 30,40,60,70,
           AND 90. THE CPUID WILL BE REPLACED WITH THE REAL CPUID
           FOR ALL RECORDS.
       12. SET UP THE DMKVER575I MESSAGE AND CALL DMKQCNWT TO  SEND
           THE MESSAGE TO THE SYSTEMS OPERATOR.
       13. RESET THE VMEXWAIT FLAG IN VMRSTAT. THEN CALL DMKIOEVR
           TO DO THE ACTUAL RECORDING. CALL DMKFRET TO RETURN THE
           BUFFER TO FREE STORAGE. ISSUE AN SVC 16 TO RETURN THE
           SAVEAREA TO THE SYSTEM AND GOTO DMKDSPCH.

Calls to Other Routines

       DMKFREE - TO OBTAIN STORAGE FOR RECORD BUFFER.
       DMKFRET - TO RETURN STORAGE TO THE SYSTEM.
       DMKQCNWT - TO SEND MESSAGES TO THE OPERATOR.
       DMKIOEVR - TO WRITE RECORD TO RECORDING CYLINDER.
       DMKSCNVU - TO OBTAIN VIRTUAL CANNEL, CONTROL UNIT, AND
                  DEVICE BLOK ADDRESSES.
       DMKSCNRD - TO OBTAIN REAL DEVICE ADDRESS.
       DMKCVTBH - TO CONVERT BINARY ADDRESSES TO HEX.