(OS BTAM can be generated without dynamic buffering, in which case
no virtual machine execution violations occur. However, the BTAM reset poll macro will not execute under VM/370 if issued from third
level storage. For example, a reset poll macro has a NOP effect if
executed from a virtual=virtual storage under VS1 which is running
under VM/370.) 2. Programming that makes use of the PCI channel interrupt for channel
program modification or processor signalling must be written so
that processing can continue normally if the PCI is not recognized
until I/O completion or if the modifications performed are not
executed by the channel.
3. Devices that expect a response to an interrupt within a fixed
period of time may not function correctly because of execution
delays caused by normal VM/370 system processing. An example of
such a device is the IBM 1419 Magnetic Character Reader. 4. The operation of a virtual block multiplexer channel is timing appears available to the virtual machine operating system, and channel available interrupts
are not observed. However, operations on virtual block-multiplexing
devices should use the available features like Rotational Position Sensing to enhance utilization of the real channels.
Processor Model-Dependent Functions On the System/370 Model 158 only, the
cannot operate concurrently with the (17117) virtual machine assist feature 7070/7074 compatibility feature
Programs written for
execute properly in the
points should be noted:
processor model-dependent functions may not
virtual machine under VM/370. The following
1. Programs written to examine the machine logout area do not have
meaningful data since VM/370 does not reflect the machine logout
data to a virtual machine.
2. Programs written to obtain processor identification (via the Store CPUID instruction, STIDP) receive the real machine value. When the STIDP instruction is issued by a virtual machine, the version code
contains the value 255 in hexadecimal ("FF") to represent a virtual
machine.
3. No simulation of other processor models is attempted by VK/370. 4. Since an operating system's channel error recovery procedures may
be processor model-and channel model-dependent, operating systems
that will run in a virtual machine may have to be generated for the
same model of processor that VM/370 will be running on. Channel Model-Dependent Functions
Channel checks (channel data check, channel control check and interface
control check) no longer cause the virtual machine to be reset. They
are reflected to the virtual machine as other I/O errors are. This
provides the operating system or other programs in the virtual machine
with the opportunity to attempt recovery or close out its operation in
an orderly manner. To take full advantage of this the virtual machine
should comply with the following requirement: 434 IBM VM/370 Planning and System Generation Guide
Each virtual channel should map to real channels of a single type.
In other words, the virtual devices on a virtual channel should all
map to real devices on real channels of a single type and model.
These real channels should all be the same as each other, but not
necessarily the same as the virtual channel.
If the I/O configuration of a virtual machine does not meet the above
requirement, no warning message is issued and the virtual machine will run successfully until a channel check occurs. In this case, when a
channel check occurs, there is a possibility that the channel extended
logout data may be inconsistent with the data provided by the store
channel id (STIDC) instruction. Virtual machines running CMS do not need to comply with these
requirements. Here, only unit record spooling and diagnose 110 are performed; For unit record spooling there are no channel checks and for
diagnose I/O, CP attempts to perform the error recovery itself. When the store channel id instruction (STIDC) is executed in a
virtual machine, it returns information from an arbitrary channel, one
of several the specified virtual channel may map to. The type, model,
and logout length data returned by the STIDC are the same as the real
channel except that when a real channel is a block multiplexer and the
virtual channel is a selector, the type field returned by STIDC
indicates a selector channel.
Since the STIDC returns identifying data from
channel model-dependent error recovery procedures
identify the channel.
the real channel,
can use STIDC to
Channel extended logouts are reflected to the virtual machine in a
manner that is processor model-and channel model-dependent and
consistent with the data returned by STIDC (provided that the
virtual-to-real channel mapping complies with the requirement stated
previously) .
A deviation in the handling of channel extended logouts occurs if the
virtual machine uses the bit in control register 14 to mask out channel extended lcgcuts. In a virtual machine, any channel extended logouts
that are masked out by control register 14 are lost rather than kept
pending, and the logout pending bit (bit 5) in the CSi is never set.
However, channel extended logouts will not be lost when they are kept
pending along with their associated 1/0 interrupts by the channel masks
in control register 2 and the PSi. Regardless of whether or not the
setting of the virtual machine's control register 14 causes it to lose
the channel extended logout, CP will still successfully record the
logout in its own error recording cylinders. Virtual Machine Characteristics
other characteristics that exist for a virtual machine under are
as follows:
1. If the virtual=real option is selected for a virtual machine,
input/output operations specifying data transfer into or out of the
virtual machine's page zero, or into or out of storage locations
whose addresses are greater than the storage allocated by the
virtual=real option, must not occur. The storage-protect-key
mechanism of the IBM System/370 and channels operates in
Appendix F: VM/370 Restrictions 435
Previous Page Next Page