Parameters
The parameters are explained as follows:
- name
- An optional symbol, starting in column 1, that is the name on
the IWMEQTME macro invocation. The name must conform to the rules
for an ordinary assembler language symbol.
- CPUTIME=cputime
- An optional output parameter, which will contain the total accumulated
TCB and SRB time for the enclave that is associated with the current
dispatchable workunit. The CPU time will be in TOD clock format.
To code: Specify the RS-type address, or address
in register (2)-(12), of an 8-character field.
- ,CURRENT_DISP=NO
- ,CURRENT_DISP=YES
- An optional parameter indicating whether to call the dispatcher
before querying the enclave processor times. Enclave processor times
are only accumulated when an enclave loses the processor. So the processor
times are the total accumulated times for the enclave up to the point
when it was dispatched for the last time. Because the enclave being
queried by the service is currently active on a processor, the processor
times are not accurate; all processor times since the last dispatch
of the enclave are missing. To make the enclave processor times returned
by the service more accurate, the dispatcher can optionally be called
to update the accumulated processor times before they are returned
by the service.
This option provides benefit mostly for single-work-unit
enclaves. For enclaves with multiple work units (tasks or SRBs) running
in parallel, the benefit will be marginal because the call to the
dispatcher will only update the times for the current (calling) workunit.
The
default is CURRENT_DISP=NO.
- ,CURRENT_DISP=NO
- The enclave processor times are queried without calling the
dispatcher before. Which means that processor times since the last
dispatch of the enclave are missing, leading to slightly too small
results. In return invocation of the service is less costly, and has
less prerequisites in the environment.
- ,CURRENT_DISP=YES
- The enclave processor times are queried after calling the dispatcher.
Which means that all processor times for the work unit up to invoking
the service are returned. The price for getting more exact values
is more cycles for invoking the service, and more restricted environments
in which it can be invoked.
- ,MF=S
- ,MF=(L,list addr)
- ,MF=(L,list addr,attr)
- ,MF=(L,list addr,0D)
- ,MF=(E,list addr)
- ,MF=(E,list addr,COMPLETE)
- An optional input parameter that specifies the macro form.
Use
MF=S to specify the standard form of the macro, which builds an inline
parameter list and generates the macro invocation to transfer control
to the service. MF=S is the default.
Use MF=L to specify the
list form of the macro. Use the list form together with the execute
form of the macro for applications that require reentrant code. The
list form defines an area of storage that the execute form uses to
store the parameters. Only the PLISTVER parameter may be coded with
the list form of the macro.
Use MF=E to specify the execute
form of the macro. Use the execute form together with the list form
of the macro for applications that require reentrant code. The execute
form of the macro stores the parameters into the storage area defined
by the list form, and generates the macro invocation to transfer control
to the service.
- ,list addr
- The name of a storage area to contain the parameters. For MF=S
and MF=E, this can be an RS-type address or an address in register
(1)-(12).
- ,attr
- An optional 1- to 60-character input string that you use to
force boundary alignment of the parameter list. Use a value of 0F
to force the parameter list to a word boundary, or 0D to force the
parameter list to a doubleword boundary. If you do not code attr,
the system provides a value of 0D.
- ,COMPLETE
- Specifies that the system is to check for required parameters
and supply defaults for omitted optional parameters.
- ,PLISTVER=IMPLIED_VERSION
- ,PLISTVER=MAX
- ,PLISTVER=0
- ,PLISTVER=1
- ,PLISTVER=2
- An optional input parameter that specifies the version of the
macro. PLISTVER determines which parameter list the system generates.
PLISTVER is an optional input parameter on all forms of the macro,
including the list form. When using PLISTVER, specify it on all macro
forms used for a request and with the same value on all of the macro
forms. The values are:
- IMPLIED_VERSION, which is the lowest
version that allows all parameters specified on the request to be
processed. If you omit the PLISTVER parameter, IMPLIED_VERSION
is the default.
- MAX, if you want the parameter list to be
the largest size currently possible. This size might grow from release
to release and affect the amount of storage that your program needs.
If
you can tolerate the size change, IBM recommends that you always specify
PLISTVER=MAX on the list form of the macro. Specifying MAX ensures
that the list-form parameter list is always long enough to hold all
the parameters you might specify on the execute form, when both are
assembled with the same level of the system. In this way, MAX ensures
that the parameter list does not overwrite nearby storage.
- 0, which supports all parameters except
those specifically referenced in higher versions.
- 1, which supports both the following parameters
and those from version 0:
- ZIIPONCPTIME
- ZIIPQUALTIME
- ZIIPTIME
- 2, which supports both the following parameters
and those from version 0 and 1:
- CURRENT_DISP
- ZAAPONCPTIME
- ZAAPNFACTOR
- ZAAPTIME
To code: Specify one of the following:
- IMPLIED_VERSION
- MAX
- A decimal value of 0, 1, or 2
- ,RETCODE=retcode
- An optional output parameter into which the return code is to
be copied from GPR 15. If you specify 15, GPR15, REG15, or R15 (within
or without parentheses), the value will be left in GPR 15.
To code: Specify the RS-type address of a
fullword field, or register (2)-(12) or (15), (GPR15), (REG15), or
(R15).
- ,RSNCODE=rsncode
- An optional output parameter into which the reason code is to
be copied from GPR 0. If you specify 0, 00, GPR0, GPR00, REG0, REG00,
or R0 (within or without parentheses), the value will be left in GPR
0.
To code: Specify the RS-type address
of a fullword field, or register (0) or (2)-(12), (00), (GPR0), (GPR00),
REG0), (REG00), or (R0).
- ,ZAAPNFACTOR=zaapnfactor
- An optional output parameter, which will contain the normalization
factor for application assist processors (zAAPs). If zAAPs are running
at a different speed, multiply zAAP times with this factor and divide
the result by 256 to normalize the values to the speed of regular
CPs. Note however, that if there has been a speed change of zAAP processors
during the life time of the enclave, this calculation will return
imprecise data.
To code: Specify the
RS-type address, or address in register (2)-(12), of a fullword field.
- ,ZAAPONCPTIME=zaaponcptime
- An optional output parameter, which will contain the total accumulated
time spent on a regular CP for application assist processor (zAAP)
eligible work for the enclave that is associated with the current
dispatchable work unit. The time will be in TOD clock format, normalized
to the regular processor speed.
To code: Specify
the RS-type address, or address in register (2)-(12), of an 8-character
field.
- ,ZAAPTIME=zaaptime
- An optional output parameter, which will contain the total accumulated
application assist processor (zAAP) time for the enclave that is associated
with the current work unit. The value is not normalized to the speed
of regular CPs, but is expressed in zAAP speed which might be different.
You may use ZAAPNFACTOR to normalize the value to the speed of regular
CPs. Note however, that if the zAAP speed changed during the life
time of the enclave, this value cannot be normalized precisely. The
time will be in TOD clock format.
To code: Specify
the RS-type address, or address in register (2)-(12), of an 8-character
field.
- ,ZIIPONCPTIME=ziiponcptime
- An optional output parameter, which will contain the total accumulated
time spent on a standard processor for zIIP eligible work for the
enclave that is associated with the current dispatchable workunit.
The time will be in TOD clock format, normalized to standard processor
speed.
To code: Specify the RS-type
address, or address in register (2)-(12), of an 8-character field.
- ,ZIIPQUALTIME=ziipqualtime
- An optional output parameter, which will contain the total time
the enclave that is associated with the current dispatchable workunit
was qualified to run an an integrated information processor (zIIP).
The time will be in TOD clock format.
To code: Specify
the RS-type address, or address in register (2)-(12), of an 8-character
field.
- ,ZIIPTIME=ziiptime
- An optional output parameter, which will contain the total accumulated
time spent on an integrated information processor (zIIP) for the enclave
that is associated with the current dispatchable workunit. The zIIP
time will be in TOD clock format, normalized to standard processor
speed.
To code: Specify the RS-type
address, or address in register (2)-(12), of an 8-character field.
|