Although the CS and CDS instructions are nonprivileged, they are not
part of the standard instruction set on IBft system/370 ftodels 135,
135-3, 138, 145, 145-3, and 148; Vft/370 simulates these instructions on
these models that do not have the optional hardware feature installed. System/370 BC .ode non-I/O privileged instruction simulation includes
the following:
Code SCK SCICC STCKC SPT STPT STRSft STOSft STIDP STIDC LCTL STCTL LRA
RRB
PTLB IPIC SPICA 1-48
Definition Set-Clock Set Clock Comparator Store Clock Comparator Set CPU Tiaer Store CPU "Timer Store and AND System ftask Store and OR Systea ftask Store CPU Identification Store Channel Identification
Load Control Store Control
Load Real Address
Reset Reference Bit
Purge Table Look-aside Buffer
Insert PSi Key Set PSi Key Prom Address IBft Vft/310 System Logic and Problem Determination--Voluae 1
DIAGNOSE INSTRUCTION IN A VIRTUAL MACHINE The DIAGNOSE instruction cannot be used in a virtual aaChine for its normal function. If a virtual aachine atteapts to execute a DIAGIOSE instruction, a program interrupt returns control to CP. Since a DIAGNOSE instruction issued in a virtual aachine results only in
returning control to CP and not in performing normal DIAGNOSE functions,
the instruction is used for communication between a virtual aachine and
CP. The machine language format of DIAGNOSE is:
83
Rx Hy <------------- 4 bytes ------------->
, I 83 I Rx I Ry I CODE is X'83' and interpreted by the asseabler as the DIAGIOSE instruction. There is no mnemonic for DIAGNOSE. specifies a register containing the address of the VRePARR parameter list.
is a register that contains a return code. CODE is X'68' and specifies that you are requesting execution of a VMCF. The operand storage addresses, passed to the DIAGNOSE interface in Rx and Ry, must be real addresses to the virtual machine issuing the DIAGNOSE. The code is a two-byte hexadecimal value that CP uses to deteraine
what function to perform. The codes defined for the general VR/370 user
are described in this section. The code aust be a multiple of 4. Codes X'OO' through X'FC' are reserved for IBM use, and codes X'100' through X'1FC' are reserved for users.
Because DIAGNOSE operates differently in a virtual aachine than it
does in a real machine, a program should determine that it is operating
in a virtual machine before issuing a diagnose instruction, and prevent
execution of a DIAGNOSE when in a real machine.. The Store Processor ID (STIDP) instruction provides a prograa with inforaation about the
processor in which it is executing, including the processor version
nuaber. If STIDP is issued froa a virtual aachine, the version nuaber
will be X'FF' in the first byte of the CPUID field. A virtual machine issuing a diagnose instruction should run with
interrupts disabled. This prevents loss of status information
pertaining to the diagnose operation such as condition codes and sense
data.
CP Introduction 1-49
Previous Page Next Page