Exit to dispatcher. DMKRGAIN or terminal response did not fall in the previous category,
process via TP code branch. The code in the fifth byte of the ending CCli or IOBCSll-8. TP Code TPOO-- TP01 TP02 TP03 TP04 TP05 TP06 TP07 TP08 TP09 TP10 TP11 DMKDSPCH Function Error-Handling cew
Enable/disable function Write EOT (sequence prior to polling and addressing) Write polling or addressing characters
Handle station's status and sense aessage
Read response to addressing Write response to text NO-OP following POLL command Unit exception condition (timeout)
All reset commands
Read/write text
Read response to text the dispatcher. DKKBSCER ---Entry via DKKIOS and SVC 8 to process errors related to the binary
synchronous line unit check and channel error conditions. On first
error pass, move the IOERBLOK pointer from the IOBLOK to the RDEVBLOK, reset retry and fatal flags, set the ERP flag and call DMKFREE. DftKFREE storage for a work area for retry CCWs. On a not first error condition, test for unrecoverable error
condition. Unrecoverable errors include:
program check, protection check, chaining check, equipment check,
interface control check and channel control checks. If one of these,
notify the system operator. Reset flags, initiate error recording
and Free IOERBLOK. Go back to scheduler. DKKRGA TP code, sense data CSW residual count and retry count to
determine retry or IOBFATAL flag setting. 1-202 IBft VM/370 System Logic and Problem Determination--Volume 1
REAL STORAGE ALLOCATION AND PAGE MANAGEMENT DMKPTRAN via the TRANS KACRO per paging request as determined by DiT created program interrupt (page or segment exception) DMKPTR RESTART ---aeturn to-caller, if virtual address in R1 is beyond range of user's
directory specified storage size. QMKPTR, Check page residency via LRA (LOAD REAL ADDRESS) operation. For resident page, lock page in storage (if appropriate). 12!1KP!!!, GET!!!QQ Set real address in R2, make PAGTABLE entry valid. Set cc=O and exit
to caller. INT!!!! For page not resident but in transit (SWPTABLE, SWPFLAG), place
virtual machine in locate mode. Locate CPEXBLOK for the real page requested and chain another CPEXBLOK with a return address of TRANRETN, to the same chain.
DMKPTR, TRANRETN no longer in transit, restore registers and return to RESTART for processing, DMKPTR, GETPAGE ---aeclaims-;-page on FREELIST (CORETABLE). DMKPTR, DOlO ---Par page-that is not in storage, do setup to read in the page. For DEFER option passed in R2, build CPEXBLOK to return to user after
page is in storage. PA§!! After the page is read into storage DMKPAGIO process, remove the user
from the wait state and update the lock count (if required). DMKPTR, GETRADD
-- Set reel-address in R2, make PAGTABLE entry valid. Set cc=O and exit
to caller. DMKPTRFR ---Per-the caller's code in R2, obtain a page frame - DMKPTR, GETFREE ---obtain-page-frame via CORTABLE reference then exit to caller. DMKPTRFE via CPEXBLOK, check page availability via flush list (DMKPTRFL), if none available steal a user's page. Q1!KP!!i, The SELECT routine is entered to replenish the FREELIST from the
flush list or user's pages that have not been referenced. QMKPTR!:! Process pages to be returned by chaining them to the FREELIST. On page returns DEFER page requests are processed first. In locking a page in Real Storage (address in R2), add 1 to lock
count; if previously locked, and exit to caller. If not previously
locked, unchain the CORTIBLE entry from the user's page list and set
the lock count to 1. R!!!! To unlock
lock count
list prior
a locked page, reduce lock count by 1 and exit. If the
is now equal to zero, place CORTABLE entry on user's page
to exiting from routine. CP Method of operation and Program Organization 1-203
Previous Page Next Page