VM370 Rel 6 Data Areas and Control Block Logic (Mar79)
Page124(124 of 342)
UMICBLOK Hexadecimal Field Displacement Name B C D E F 10 14 18 20 28 30 33 34 UMACOPT2 DS U!UCVMSV EQU UMICLEND DS UMACLDEL DS UMICCDEL DS UlUCES DS UMACCORE DS UMACMCOR DS UMICICCT DS UMICDIST DS OMICIPL DS OMICPOID DS UMACAFF DS UMACRSVR DS UMACSIZE EQU lC X'10' 1C lC 1C 1C 1F 1F 1D 1D 1D XL3 lX 1F Field Description, contents, peaning U*4 Virtual machine option flags Processor identification number on option statement VMSAVE on oFtion statement 0*5 Terminal line end symbol U*6 Terminal line delete symbol U*7 Terminal character delete symbol U*8 Edit escape symbol Virtual storage size in bytes Maxi.um virtual storage size in bytes Accounting information User machine distribution information Name of system to te IPLed at logon Processor identification number in tinary U*9 Affinity and processor address Affinity specified Processor address for "affinity Reserved for IBM use (*-UMACBLOK)/8 UMACELOK size in doutlevords (X'06') 112 IBM VM/370 Data Areas and Control Block Logic
The base fer locating the I/O block structure is the user's Virtual Machine Central Block (VMBLOK) • The VMELOK contains a pointer to the start of three control block tables, and a table of 16 channel indexes. The control block tables contain one block for each of the virtual channels, control units, and devices that are defined for the user's virtual machine. The entries in the channel index table (VMCHTBL) contain the pointers to each channel defined for the user in the table of Virtual Channel Blocks (VCHBLOKs). Each VCHBLOK contains a table of pointers that peint to the Virtual Control Unit Blocks (VCUELOKs) for the control units attached to that virtual channel. Each VCUBLOK contains pointers to the Virtual Device Elocks (VDEVBLOK) attached to the control unit. Thus, if given the unit address of any component in the form cuu, the appropriate control blocks representing each component in the subchannel path to the given unit is located via the indexing scheme. VIRTUAL CHANNEL BLOCKS There is ene Virtual Channel Block (VCHELOK) for each virtual channel connected te the user's virtual processor. Each VCHBLOK contains the channel address and flag indicating the channel type (selector, byte multiplexer, or block multiplexer). The status of the channel and its attached units are represented by several status and mask bytes. • A status byte (VCHSTAT) indicates whether the channel is busy or has a channel class interrupt pending. • A halfword unit address identifies the unit causing the channel-class interrupt (if it is present). • A halfword mask (VCHCUINT) contains a bit map of the attached control units that have interrupt status pending. Virtual I/O Control Blocks Following these status flags and masks is the table of indexes pointing to the attached VCUELeKs; index entries reFresenting addresses at which no control unit is attached have a value of -1. VIBTUAL CCNTROL UNIT ELOCKS There is one Virtual Centrol Unit Block (VCUBLOKj for each contrcl unit in the virtual configuration. These blocks are arranged in a table, each contains: in addition to its base address, status flags similar te those in the VCHELCK and a table of indexes to attached VDEVBLOKs. The status flags defined for the VCUBLCK differ frem these for the VCHELCK ,in that they can centain status for the centrol unit and alse for a subchannel. For example, if the VCUELOK representing a 2803 taFe control unit is attached to a virtual selector channel, both the VCHBLCK and the VCUBLeK are marked busy. However, if the VCUBLCK is attached to a virtual byte multiplexer channel and is for a central unit on a selector subchannel of the multiplexer, the busy status of the channel is reflected in the VCUBLOK only. Thus, the virtual byte multiplexer appears nonbusy te operations on other, nonshared subchannels. VIBTUAL DEVICE BLOCKS There is one Virtual Device Block (VrEVBLCK) in the configuration for each virtual device defined by the user. Each VtEVBLOK contains the device portion of the unit address, device status, and the virtual CSW for the last interrupt taken by the device. In addition, the VDEVBLCK contains device type specific information that allows the I/O translation and simulation routines te interpret the channel programs presented by the user. IS!!: The VCHBLCK, VCUELOK, VDEVBLCK, VFCEBLOK, and VSPXELOK DSECTs are all contained in the VELOKs COpy file. Section 1. CP tata Areas and Contrel Blocks 113