Set a clock compara tor interrupt request. !!KKSCH!i! Reset a clock comparator interrupt request. Dl!KSCHl!D ---Set-up a request block for midnight date change. Process a real interrupt timer request. Process a real CPU timer interrupt. SPOOLING VIRTUAL DEVICE TO REAL DEVICE DMKVSPEI froll DMKVIO to initiate SIO on a spooling device that is
available (not busy and no interruptions pending) DMKVSP, OPEN ---netermine if output device needs to be opened. DMKSPLOV build message control blocks: SFBLOK and VSPCTLBLOK. DMKPGTVG ---ObtaIn a virtual buffer; the address is stored in VSPVAGE. DMKPGTSG ---obt2In a DASD page; the address is stored in VSPDPAGE. DMKVSP, BUILDCTL and the other user, record, and device values plus DMKCVTDT. DMKCVTDT the time stamp and date and stores it in SFBLOK. Generate TAG record at the start of the spool data buffer. DMKYSP, CCiOK
After CCW validity check, data and CCis (if appropriate) are moved to
the work buffer. Trailing blanks are truncated and when the buffer
is full, it is written out to the DASD slot. DMKVSPVP ---On-console spooling, the following occurs:
1. Skip to channel 1 every 60 lines.
2. Write out the system console, spool file buffer every 16 lines.
3. Place the system console in a pseudo closed state for checkpoint
recovery in the event of system failure. When all CCWs are processed, post interruption pending to the VDEVBLOK, VDEVCSW and return control to the user. DKKYSFCO via CP CLOSE command. If device busy, defer close operation by
building CPEIBLOK, stack it and exit to dispatcher. j2MKYSP, PR!lQ1 On device not busy, write final buffer page to DASD storage.
1-216 IBM VM/310 System Logic and Problem Determination--Voluae 1
DMKSPLCV ---oueue closed virtual printer or punch spool file to the real spool
output device, or transfer the file to another user's virtual reader. Ilso update the SFBLOK with number of copies printed/punched,
distribution code, hold status, and file owner ID. If VSPXBLOK with TIG data exists for the spool device, copy the TIG data to the TIG record in the first spool file data buffer. TX!!!! If a "spooled to" file, queue to the end of the reader file chain.
Otherwise, chain the SFBLOK to the designated real spool printer or
punch. DMKCKSPL ---checkpoint the new spool file block. DMKSPL, For a "spooled to" file find a virtual reader with the proper class
and in the ready state with no active file, and no pending
interrupts. Then build an IOBLOK with IOBIRI of DMKVIOIN. DMKSTKIO Stack the IOBLOK. 12 MK SPl!, Exit to DMKVSP. DMKSPL, TSTHQl!12 For not "spooled to" files and not in user or system hold, find
printer or punch with the proper class. Then build an IOBLOK with IOBIRI of DMKRSPEX. DMKSTKIO ---Stack the IOBLOK. DMKSPL, TSTHOLD to-DMiisp. ]MKVSP, OP]!!!]! Entry to open a spool input file. If VDEVSPL=O the file needs to be
opened. Build VSPLCTL block and a work buffer. Search the system reader file chain per PSI linkage lRSPRD for a file with appropriate
user and class. 12 MK V.§.f, On file-found condition, place first DISD page address in VSPLCTL, VSPDP1GE. Obtain a virtual buffer and retain its address in the VSPLCTL block. DMKVSP, REIDER for validity, move and expand the data back to its
original size and the data is moved from the work buffer to user's
virtual storage. DMKVSP, RD!£QQ!! On EOF, set SFBEOF bit in SFBLOK and return to caller. DMKYSPCR ---per-CiOSE operation requested via console command and the device is
busy, initiate a delayed close by constructing and stacking the CPEXBLOK for the CLOSE. DMKVSP, For normal end of file and VDEVSFLG indicates continuous read. OPE!!£Q!! Locate the next file and continue reading. CP Method of Operation and Program Organization 1-211
Previous Page Next Page