Table of Contents

DMKVDC Abstract

Statistics

Type ASSEMBLE
Source Lines : 1,534
Fixes Applied : 16
Most Recent Version : Thursday, December 14, 1978
Last Fix ID : [HRC106DK]

Synopsis

Module

       DMKVDC

Function

       TO ACQUIRE FREE STORAGE IN ADVANCE FOR VIRTUAL BLOCKS
       FOR ALL THOSE DEVICES WHICH ARE LIKELY TO BE ATTACHED
       ON THIS COMMAND EXECUTION.

Attributes

       REENTRANT, PAGEABLE, CALLED VIA SVC

Operation

       1.  ACQUIRE FREE STORAGE WORK AREA FOR COUNTERS ETC.
       2.  FIND RDEVBLOK FOR SPECIFIED ADDRESS
       IF THE DEVICE IS OFFLINE OR ALREADY DEDICATED, PROCESS
       NEXT ADDRESS.
       3.  ACQUIRE IOBLOK AND CPEXBLOK AND SCHEDULE TIO TO THE
       DEVICE BY CALLING DMKIOSQR.  IF THE DEVICE DOES NOT EXIST,
       SKIP TO PROCESS NEXT ADDRESS.
       4.  SEE IF VIRTUAL DEVICE IS ALREADY DEFINED (DMKSCNVU).
       IF THE DEVICE IS ALREADY DEFINED, SKIP TO PROCESS NEXT
       ADDRESS.  IF THE CHANNEL IS DEDICATED, SKIP TO PROCESS
       NEXT DEVICE.  OTHERWISE, KEEP A COUNTER FOR THE NUMBER
       OF VCHBLOKS/VCUBLOKS/VDEVBLOKS WHICH ARE LIKELY TO BE
       CREATED IN THIS COMMAND EXECUTION.  PERFORM THIS FUNCTION
       FOR ALL ADDRESSES IN THE RANGE/ALL MULTIPLE DEVICE ADDRESSES.
       5.  RELEASE IOBLOK AND CPEXBLOK AFTER THIS PHASE IS COMPLETE.
       6.  DETERMINE NUMBER OF UNUSED (EMPTY SLOTS) IN CURRENT
       TABLES OF VCHBLOKS/VCUBLOKS/VDEVBLOKS.
       7.  SUBTRACT NUMBER OF BLOCKS OF EACH TYPE WHICH WILL BE
       CREATED AS A RESULT OF THIS COMMAND EXECUTION FROM THE NUMBER
       OF CURRENTLY AVAILABLE BLOCKS OF EACH TYPE TO DETERMINE THE
       EXACT NUMBER OF NEW VCHBLOKS/VCUBLOKS/VDEVBLOKS WHICH MUST BE
       CREATED IN THIS COMMAND EXECUTION.
       8.  ACQUIRE STORAGE FOR NEW VIRTUAL BLOCKS REQUIRED BY
       CALLING DMKFRERC.  IF STORAGE CANNOT BE OBTAINED, RETURN TO
       DMKVDA WITH GPR2=32.  DMKVDA WILL THEN ISSUE ERROR MESSAGE
       DMKVDA131E.  MOVE OLD TABLE OF VCHBLOKS/VCUBLOKS/VDEVBLOKS
       TO NEWLY ACQUIRED TABLES AND MARK ALL ADDITIONAL BLOCKS AS
       EMPTY SLOTS.                                          @VA13217

       9.  RELEASE WORK AREA AND EXIT.

Calls to Other Routines

       DMKFRERC - ACQUIRE FREE STORAGE WITH RETURN CODE IN REQUEST
                  CANNOT BE SATISFIED.
       DMKSCNRU - FIND RDEVBLOK
       DMKIOSQR - SCHEDULE I/O REQUEST FOR TIO
       DMKSCNVU - FIND VIRTUAL BLOCKS
       DMKVIOMK - ADDRESS OF MASK TABLE