Parameters
The parameters are explained as follows:
- name
- An optional symbol, starting in column 1, that is the name on
the IWM4STBG macro invocation. The name must conform to the rules
for an ordinary assembler language symbol.
- ,ETOKEN=etoken
- An optional output parameter, which will receive the enclave
token.
To code: Specify the RS-type
address, or address in register (2)-(12), of an 8-character field.
- ,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
- 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, if you use the currently available parameters.
To code: Specify one of the following:
- IMPLIED_VERSION
- MAX
- A decimal value of 0
- ,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).
- ,SUBTASKS=NO
- ,SUBTASKS=YES
- An optional parameter, which specifies if subtasks of the requesting
task are also to be processed. The default is SUBTASKS=NO.
- ,SUBTASKS=NO
- specifies that subtasks of the requesting task are not to be
processed.
- ,SUBTASKS=YES
- specifies that subtasks of the requesting task that are not
already joined to an enclave are to be joined to the enclave identified
by this invocation's ETOKEN parameter. When a currently-dispatched
subtask is joined to the enclave, its CPU time for that dispatch is
associated with the enclave rather than the address space. When the
subtask is removed from the enclave, if it is currently dispatched,
its CPU time for that dispatch is associated with the address space
rather than the enclave.
If SYSEVENT REQSRMST does not indicate,
via bit SRMSTSTS being on, that this function is available, this is
treated as SUBTASKS=NO.
When SUBTASKS=YES is in effect, this
task's corresponding IWM4STEN will also perform leave processing upon
any subtasks that are implicitly associated with the enclave. This
includes subtasks that were joined to the enclave due to this task's
IWM4STBG processing as well as subtasks that were joined to the enclave
by ATTACH processing.
- WLMEUTKN=wlmeutkn
- A required input parameter, execution unit token that was returned
by a prior invocation of IWM4SSL.
To code: Specify
the RS-type address, or address in register (2)-(12), of an 8-character
field.
|