April 1, 1981 DIAGNOSE Code X'OO' -- Store Extended-Identification Code
Execution of DIAGNOSE code X'OO' allows a virtual machine to examine the VM/370 extended-identification code. For example, an as/VS1 virtual
machine issues a DIAGNOSE code X'OO' instruction to determine if the
version of VM/370 under which it is executing supports the VM/VS Handshakinq feature. If the extended-identification code is returned to VS1, VM/370 supports handshaking; otherwise, it does not.
The register specified as Rx contains the doubleword aligned virtual
storaqe address where the VM/370 extended-identification code is to be
stored. The Ry register contains the number of bytes to be stored
entered as an unsiqned binary number.
If the VM/370 system currently executing does not suooort the
DIAGNOSE code - x'OO' instruction, no data is returned to the virtual
machine. If it does support the DIAGNOSE code X'OO' instruction, the
following data is returned to the virtual machine (at the location
specified by RX): System
Number Version Code
MCEL Processor Address User id Program Product
Bit Map
The first byte is the
version number, the second
byte is the level, and the third byte is the PLC (Proqram Level
Chanqe) number. VM/370 executes the STIDP (Store Processor ID) instruction
to determine the version
code. VM/370 executes the STIDP instruction to determine
the maximum length of the MCEL (Machine Check Extended
Logout) area. VM/370 executes the STAP (Store Processor Address)
instruction to determine the
processor address.
The userid of the virtual
machine issuing the DIAGNOSE.
Bits that indicate the
Proqram Products that
are installed.
8 bytes;-EBCDIC 3 bytes, hexadecimal
1 byte, hexadecimal
2 bytes, hexadecimal
2 bytes, hexadecimal
8 bytes, EBCDIC 8 bytes, hexadecimal
(Reserved for IBM use)
If VM/370 is executinq in a virtual machine, another 24 bytes, or
less, of extended identification data is appended to the first 24 bytes
described above. Up to five nested levels of VM/370 virtual machines are sup-ported b-y·--th-is diaqno-se- inst-ru€tion result in-g in a max-i-m--u-m- of -1-6-0- bytes of data that can be returned to the virtual machine that initially
issued the DIAGNOSE instruction. Upon return, Ry contains its original value less the number of bytes
that were stored. Part 2. Control Proqram (CP) 183
paqe of GC20-1807-7 As Updated April 1, 1981 by TNL GN25-0829
No completion code is returned, and the condition code remains
unchanged. DIAGNOSE Code X'04' -- Examine Real Storage Execution of a DIAGNOSE Code X'04' allows a user with command class C or E to examine real storage. The register specified as Rx
contains the virtual address of a list of CP (real) addresses to be
examined. The Ry register contains the count of entries in the list.
Ry+1 contains the virtual address of the result field. The result field
contains the values retrieved from the specified real locations.
For each address in the list of CP addresses, VM/370 provides a
fullword of data obtained from the specified address in real storage. VK/370 stores this data into the result field identified by the Ry+1
There is a one-to-one correspondence between entries in the list of
addresses and entries in the result field. For example, data obtained
from the address in the first entry of the address list is stored in the
first entry of the result field, data obtained from the second entry of
the address list is stored in the second entry of the result field, and
so forth.
Note: The request and result tables must be in the same page of virtual
storage, and that page must be resident in real storage, at the time the DIAGNOSE is executed. This is guaranteed if the instruction itself is
also in the same paqe.
In the attached processor environment, each processor has a prefix
register to relocate addresses between 0 and 4095 to another page frame
in main storaqe. The prefix register enables each processor to use a
different paqe frame in order to avoid conflict with the other processor
for such activity as interrupt code recording. Thus, the range 0 through 4095 refers to different areas of storage, depending upon which
processor generates the address.
All references to main storage from either processor are handled as
if they were made on the main processor. Existing user programs remain
valid for performance data; in the attached processor environment, they
receive the statistics for the main processor.
References to the PSA of the attached processor may be made as
follows: first, retrieve the value of PREFIXB, the value of the prefix
register for the other processor (the attached processor in this case).
Next, specify addresses that are the sum of the value of PREFIXB and the PSA displacement. References to 0 through 4095 are made by summing the
value of PREFIXA and the PSA displacement to form the request address.
Several system values that are processor independent are maintained in 0 through 4095, such as the restart PSW and the trace table vectors. DIAGNOSE Code X'08' -- Virtual Console Function DIAGNOSE Code X'08' enables a virtual machine running in supervisor
state to issue CP commands. The virtual machine must specify the
command, the command parameters, and whether CP is to return the command
response to the user's terminal or to a buffer. In addition to
returning the command response, CP sets a completion code in the Ry
register and may set a condition code. 18U IBM VM/370 Programmer's Gui1e
Previous Page Next Page