SY20-0886-1_VM370_Rel_6_Vol_1_Mar79.pdf
Page30(30 of 455)
- ":rJ I ,.,. - \Q 0\ .:: t1 ('I) H tIS W til: . c:z IX c:z " ,.,. W t1 -..J r+ 0 .:: PJ Ul I-' "<I rn H r+ " CO 0 EI n t"' 0 0 ::s \Q r+ ,.,. t1 n 0 t-' PJ t::I tIS ,:::a, I-' 0 0 t1 ;0r- O rn t7' I-' CO B t:1 CO r+ CO t1 &I ,.,. ::s PJ r+ ,.,. 0 ::s I I 0 ..... d • CO - The virtual machine configuration is represented by a set of related control blocks. These blocks are: • built by VM/370 at LOGON from data in directory • modified by user commands (for example, DETACH. LINK. DEFINE) There is one control block per channel, per control unit. and per device . The characteristics of VM/370 virtual I/O control are: • BMPX (block multiplexing) is supported • RPS (rotational position sensing) is supported • the virtual machine operating system performs scheduling • VM/370 uses virtual I/O control blocks to simulate real hardware interface • virtual unit record devices use VM/370 Spooling • virtual console is simulated on terminal • minidisks simulate DASD • dedicated devices are supported VMCHTBL - virtual channel index table VCHBLOK - virtual channel block 1 Channel identification status XXXX XXXX XXX X XXXX XXXX XXXX XXXX XXXX if negative (FFFFI. no control unit exists if pOSitive, the value is an index to the VCUBLOK Relationship of Virtual I/O Centrol Blocks ---------------, VCUBLOK - virtual control unit block 1 Control unit identification status XXXX XXXX XXXX XXXX } D . eVlce XXXX Index Table if negative (FFFF). no device exists if positive, the value is an index to the VDEVBLOK VMCHTBL (part of VMBLOK) 1 VCUBLOKs VDEVBLOKs n VDEVBLOK -- virtual device block 1 Device identification Status pending Positioning Terminal control Spooling control RDEVBLOK PointPr Part of the VDEVBLOK contains device independent information and is used identically in all VDEVBLOKs. However, some fields of the VDEVBLOKs have multiple uses, depending on the device type. For a detaIled description of the CP control blocks, see IBM Virtual Machine Faciliry/310: Data Areas and Control Blocks. Order No. SY2Q.0884.
n to t-t t:S rt t1 o n rt .... o t:S ... I ... ..... r: • GR 1 I [GR 2 1\ FOR SVC 76 ------ SVC VMES1AT VMBLOK GR 15 A (CALLED ROUTINE) I I SVC Interrupt ----------Process---------.., If PROBLEM MODE • And ADSTOP SVC, simulate 'ADSTOP' to virtual machine • And an SVC 76, verify the parameters and call DMKVER to build the error record." • And virtual machine IS In extended .., mode and/or Pa!je 0 is not in storage, reflect interrupt to virtual machine • Otherwise, fetch Page 0, move CP PSW to virtual SVCOPSW, and move SVCNPSW to the CP PSW • If supervisor mode, run user-LPSW If SVC 0 (Impossible condition or fatal error), dump the machine If SVC 8 (Link Requestl. e pass control from one module to another If SVC 12 (Return Request), return control to calling module If SVC 16, release Save Area CIt If SVC 20, !Jet next save area for calling module If SVC 24, switch processing to main processor OUTPUT VMBLOK User Page PSA SVC OLD PSW EJ ---- RUNPSW SVC NEW PSW V E=J - return I /address and SAVE AREA OF CALLING MODULE • If DMKSVC determines that the SVC 76 W parameters are valid, It calls DMKVER to build the error record. If the parameters are not valid or if DMKVER cannot build the error record, DMKSVC reflects the SVC back to the virtual machtne. If the error record is recorded, DMKVER gives control to the dispatcher with the user's running sta1Us set to return to the next sequential instruction following the SVC 76. O A new save area is acquired : and passed on. The caller's addressability register (R 121. the save area address (R 13), and the return address (SVCOPSW) are saved in the new save area. A Control is returned to module issuing .1 SVC lEi, rather than to calling module as in SVC 12. e Return is to module issuing SVC 20. e Return is on other processor to module issuing SVC 24 .