I LLLL CODE I DATA ADDR
where:
LLLL is a two byte field containing the length of the data field CODE is a two byte field containing the individualizing code
DATA ADDR is a four byte pointer to the data field to be included on the
spool file.
Note: There are no boundary requirements for the 8-byte parameter list.
An example of acceptable logic: where '3' is the individualizing code, and
DATAFLD is the address of the data.
BAL
*
DC
DC
DC AROUND DS
MC
Passing CP Data to the CPTRAP File R1,AROUND AL2(L'DATAFLD)
AL2(3)
AL4(DATAFLD) OH 0,10 PARM DEFINITION
2 BYTES OF LENGTH FIELD
2 BYTES OF CODE ... THIS IS CODE 3
4 BYTES OF DATA POINTER VIRTUAL MACHINE INTERFACE
To insert the CP interface into the problem area, insert the code into the source,
reassemble the particular source module, and regenerate the system. You can also
use the STCP command to insert the CP interface into a problem area. There are
no restrictions on the number of interfaces that may be active at the same time.
The interface is via a BALR RI4,RI5. Register 15 must be loaded with the
address of PSA(TRAPOK); this is the address of logic within module DMKPSA. This logic determines if CPTRAP is active. If active, a branch is taken to the
CPTRAP logic via PSA(TRAPCP); if not, a return is immediately taken to the
caller.
Register 1 must contain a pointer to the parameter list that contains the length of
the data, an individualizing code, and a pointer to the data. The data must be 264
bytes or less, and reside in real storage. If the length is greater than 264 bytes,
only the first 264 are taken with no indication that the data length was truncated.
The individualizing code exists so that CP interface data may be identified at data
reduction time. It is the user's responsibility to make it a unique indication of
where the zap was inserted.
Eight bytes of data are added by CP as a header for the CP interface record. The
first byte is set to X'3F' to indicate CP interface data, the second is reserved. The
third and fourth bytes contain the individualizing code, the fifth and sixth bytes
contain the total length (data length plus 8), the seventh and eighth bytes are
reserved and are immediately followed by data.
Care must be taken where the trap is inserted. If a condition code is set which has
not yet been interrogated, the inserted interface logic must assure that the condiĀ­
tion code is saved or unchanged. The CP interface logic within CPTRAP does preĀ­
serve the condition code setting.
Performance Observation and Analysis 63
CPTRAP READER File
CMS Data Reduction Program
The interface is:
Rl a pointer to an 8-byte parameter list whose format is: I LLLL I CODE I DATA ADDR
where:
LLLL is a two byte field containing the length of the data field. CODE is a two byte field containing the individualizing code.
DATA ADDR is a four byte pointer to the data field to be included on the
spool file.
R15 must contain the address of TRAPOK in the PSA R14 contains the return address.
Note: There are no boundary requirements for the 8-byte parameter list.
The following is an example of acceptable logic where '3' is the individualizing
code, and DAT AFLD is the address of the data. USING PSA,RO BAL R1,AROUND *
DATA STRUCTURE DC AL2(L'DATAFLD) 2 BYTES OF LENGTH FIELD
DC AL2(3) 2 BYTES OF CODE ... THIS IS DC AL4(DATAFLD) 4 BYTES OF DATA POINTER AROUND DS OH LA R15,TRAPOK * CP INTERFACE
BALR R14,R15 * METHOD PSA The spool file created by the trace table recording facility has a filename of CPTRAP and a filetype of FILE. It is made up of noncontiguous 4K spool CODE 3
records. The records are all data; there are no CCWs within them. The file has the SFBDUMP bit on, and the SFBMISC+ 1 byte is C'P'. The file may be accessed
with DIAGNOSE X'14'.
A reduction program, which runs on CMS, is included with the facility to allow the
data collected by CPTRAP to be useable. Input is the spool file created by the CPTRAP command. Output can be either a spooled print file or an interactive
terminal display. The program allows: ā€¢ Selectivity of output ā€¢ Positioning within the file ā€¢ Displaying on the terminal in a forward or backward direction
64 VM/SP System Programmer's Guide
Previous Page Next Page