Type ASSEMBLE
Source Lines : 796
Fixes Applied : 7
Most Recent Version : Thursday, December 7, 1978
Last Fix ID : [HRC024DK]
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.