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
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
VCHBLOK VCHBLOK contains information providing linkage between the virtual machine and one ef its
virtual channels. SUPFlied in this block, in addition to channel status and type
information, are the reflected interrupts from attached virtual centrol units.. The VMCHSTRT field of the VMBLOK points to the first VCHELeK. o
Hexadecimal I:isplacement ------------ 0 2
-------., VCHADD VCHCUINT VCHCEDEV I V*l 1 V*2 I ------------------------------------------------1 Field
1H 1 -------' Field Description, Contents, Meaning Virtual channel address VCUELOK with interrupt-bit map Virtual device address with channel class
interrupt 1X V*l Virtual channel status
in VCHSTAT --X'80'--- Virtual channel busy X'40' Virtual channel class interruft pending X'Ol· virtual channel dedicated 1X V*2 Virtual channel type
in VCHTYPE --X'80'--- Virtual selector channel X'40' Virtual block multiplexer
16H Contrel units attached - index (*-VCHBLOK) /8 VCHEIOK size in doublewords (X'OS') 114 IBM VM/370 Data Areas and Centrol Block Legic
Previous Page Next Page