Type ASSEMBLE
Source Lines : 366
Fixes Applied : 8
Most Recent Version : Thursday, December 7, 1978
Last Fix ID : [R13292DK]
Module
DMKGIO
Function
TO ALLOW CP TO DO ERROR RECOVERY FOR I/O OPERATIONS THAT WERE INITIATED BY CMS.
Attributes
REENTRANT, PAGEABLE, CALLED VIA SVC
Operation
DMKGIO IS CALLED BY DMKHVC WHEN A USER HAS ISSUED A HYPERVISOR CALL FOR TAPE, UNIT RECORD, OR NON-STANDARD DISK I/O CHANNEL PROGRAMS. A CHECK IS MADE TO VALIDATE THAT THE DEVICE ADDRESS IS CORRECT AND, FOR MINIDISKS, THAT THE DEVICE IS NOT RESERVED BY ANOTHER USER. IF NO ERROR IS DETECTED, DMKGIO BUILDS AN IOBLOK AND CALLS DMKCCWTR. ON RETURN FROM DMKCCWTR A CALL IS MADE TO DMKIOSQV TO SCHEDULE A VIRTUAL DEVICE REQUEST. WHEN THE I/O OPERATION COMPLETES DMKGIO REGAINS CONTROL AT LABEL "DIAGRTN". THE IOBLOK IS CHECK FOR AN ERROR CONDITION AND IF NONE EXISTS,THE IOBLOK IS FRETTED, THE CONDITION CODE IS SET AND RETURN IS TO DMKDSPCH. OTHERWISE DMKUNTRN IS CALLED TO CONVERT THE REAL CSW TO A VIRTUAL CSW. THE USER'S PAGE 0 IS THEN READ IN AND THE CSW MOVE INTO IT. A RETURN CODE IS LOADED INTO REG.15 AND THE PSW "CONDITION CODE" IS SET. FREE STORAGE IS RETURNED TO THE SYSTEMS POOL AND RETURN IS MADE TO DMKDSPCH.
Calls to Other Routines
DMKFREE USED TO OBTAIN STORAGE FOR BUILDING IOBLOK. DMKFRET USED TO RETURN STORGE FOR IOBLOK. DMKIOSQV TO QUE THE I/O REQUEST. DMKCCWTR TO BUILD A REAL CHANNEL PROG. FROM VIRTUAL CCW'S. DMKDSPCH TO ALLOW OTHER ROUTINES TO RUN. DMKUNTRN TO TRANSLATE THE REAL CSW TO A VIRTUAL CSW. DMKUNTFR TO FREE STORAGE USED FOR BUILDING REAL CCW'S. DMKSCNVU - TO LOCATE A VIRTUAL DEVICE DMKSCNVD - TO GET THE DEVICE ADDRESS IN CCU FORM