DKKMCT, PREXIT -- Terminate-the virtual machine if it is in control. Reset the aain processor timer. Clear all lock words and return to the dispatcher. Entry via DMKIOS via CSW channel error
DMKFREE ---Obtain storage and build a CCHREC block and if IOBLOK and RDEVBLOK exist, build an IOERBLOK. Store the CCHREC address, its length, and the CSW in the IOERBLOK. Call appropriate channel error analysis module. Analyze channel
logout data for validity.
DMKCCH, SCHEHD ---aecordlthe-error on the error recording cylinder, if appropriate. QMKCCH, Terminate CP if the PSA's terminate flag is set.
DMKCCH, CCHWAIT
-- Set up XlOF' wait state code and call DMKMCHST to terainate the system. DMKMCHST system is running in attached processor mode, call DMKMCTST. DftKMCH, CALLOPR ----Issue-an-error message to the operator. DMKMCH, MCHWAIT ---road wait state for a uniprocessor system. DMHMCTST system is running on the main processor. DMKMCT, CALLOPR ---rssue-an-error message to the operator. DMKMCT, MFAWAIT ---road a dIsabled wait state for attached processor systea. DMKCCH, SCHEHD ---unless termination is established, return to DMKIOS for recovery.
DMKVERD
Entry via DMSPSA as a result of SVC 76 detection. Check paraaeters
passed in RO and Rl. DMKFREE ---Obtain storage for a record buffer for the user error record.
DMKVER, BUFFUL -- usIng-vilId record type (from the buffer) branch to an appropriate
routine to format that particular record type. Using RDEVBLOK, VDEVBLOK and VMBLOK, convert virtual data to real
values and place in record. DKKIOERV ---aecord the error. DMKDSPCH dispatcher.
1-222 IBM 'M/370 System Logic and Problem Deteraination--Voluae 1
USER DIRECTORY ROUTINES D8KUDRFU -- Entry after CP detected LOGON command. DMKSYSPL points to
directory. Determine length of userid, if valid call D8KLOCKQ. Lock the directory in storage. the
Bring in each directory
buffer) until a UDIRBLOK detected.
page and return each page (and clear the
match occurs or directory's last page is DMKU DR, FIN DU S ER ---on-userId-fonnd, move UDIRBLOK to caller's area. DMKLQ£!2 Unlock the directory in storage .......... n'r"\.n 'OVTm,...,...n Return to caller. DMKUDRFD from calling routine to find the addressed (cuu) device UDEVBLOK in users directory and move it to the caller. Via UMACBLOK locate the UDEVBLOKs. DMKUDR, FINDDEV -- if the user device address is the same as in the UDEVBLOK. Search the chain until match or end of chain occurs. DMKUDR, For found condition, post condition code zero in user's VMPSW. DMKUDRRD from calling routine to read the UDEVBLOK addressed into the
caller's buffer. Using the DASD and the user displacement from the UMACBLOK, bring in the buffer page to storage. Determine if the
virtual directory page address (UDBFVIDD) exists in the user
directory buffer blocks. If not call- DKKPGTVG ---and-get a virtual page. DMKRPIGT ---Por-DASD address does not match the UMICBLOK, point to the D1SD page
and bring in the virtual buffer page. Move UDEVBLOK into callers area
and set cc=O in VMPSW. Return to caller. Entry to return a virtual page USed as a buffer. Determine if UDBFBLOK contains a virtual buffer page pointer (UDBFVADD). If not,
exit with cc=1 set in the VKPSW. If a buffer exists, check to see if
it is resident; if it is, clear it to zeros. Return the real page to the system. Return the virtual page to the system. DMKtJDRRV -- Set-cc=O and return to caller. DMKUDRBV -- Entry from DMKDIRCT or DKKCPINT to build page buffers for each UDIRBLOK. Get storage for the virtual buffer page list. Call DMKPGTVG and DMKRPIGT to get the virtual and real buffer. Save the virtual buffer address in the page list. Encountered 1/0 error, free the virtual buffer page list, post fatal
message, set cc=3 and return to caller. DKKUDR, ENDLIST ---swap the-new virtual buffer page list with the old list. Anchor the
new list to DKKSYSPL. CP Method of Operation and Program Organization 1-223
Previous Page Next Page