REQUEST=LIST option of IARV64

REQUEST=LIST requests a list of objects be provided to the caller.

Environment

The requirements for the caller are:

Environmental factor Requirement
Minimum authorization: Problem state and PSW key 8-15.

The caller must be running in supervisor state or with PSW key 0-7 to use the following parameters:

  • GETSTOR
    • KEY
    • CONTROL=AUTH
    • ALETVALUE
    • PAGEFRAMESIZE=1M/MAX
  • V64SHARED
  • DETACH
    • AFFINITY=SYSTEM
    • OWNER=NO
  • PAGEFIX
  • PAGEUNFIX
  • LIST
  • SHAREMEMOBJ
  • CHANGEACCESS

The caller must be running in supervisor state or with PSW key 0-7 or have a PSW key that matches the storage key of the memory object to be cleared by DISCARDDATA.

The caller must be running in supervisor state or with PSW key 0-7 to DETACH a memory object owned by another task.

Dispatchable unit mode: Task or SRB.
Cross memory mode: Any PASN, any HASN, any SASN.
Note: The problem state caller running in PSW key 8-15 can use GETSTOR/DETACH only when the primary address space is the home address space.
AMODE: 31- or 64-bit.
ASC mode: Primary or access register (AR)
Interrupt status: Enabled for I/O and external interrupts
Locks: A local lock may be held, subject to the following limitation:

When a local lock is held for a requests (GETSTOR, SHAREMEMOBJ, DETACH, or DISCARDDATA) for non-shared memory objects, the lock must be for the address space specified (or defaulted) by the input ALETVALUE.

Control parameters: Control parameters must be in the primary address space and can reside both below and above the bar.

Programming requirements

None

Restrictions

This macro supports multiple versions. Some keywords are unique to certain versions. See PLISTVER parameter description.

Input register information

Before issuing the IARV64 macro, the caller does not have to place any information into any register unless using it in register notation for a particular parameter, or using it as a base register.

Output register information

When control returns to the caller, the GPRs contain:
Register
Contents
0
Reason code, if GPR 15 is non-zero
1
Used as a work register by the system
2-13
Unchanged
14
Used as a work register by the system
15
Return code
When control returns to the caller, the ARs contain:
Register
Contents
0-1
Used as work registers by the system
2-13
Unchanged
14-15
Used as work registers by the system

Some callers depend on register contents remaining the same before and after issuing a service. If the system changes the contents of registers on which the caller depends, the caller must save them before issuing the service, and restore them after the system returns control.

Performance implications

None

Syntax

The REQUEST=LIST option of the IARV64 macro is written as follows:

Syntax Description
   
   name name: symbol. Begin name in column 1.
   
One or more blanks must precede IARV64.
   
IARV64  
   
One or more blanks must follow IARV64.
   
REQUEST=LIST  
   
  ,V64LISTPTR=v64listptr v64listptr: RS-type address or address in register (2) - (12).
   
  ,V64LISTLENGTH=v64listlength v64listlength: RS-type address or address in register (2) - (12).
   
  ,V64SHARED=NO Default: V64SHARED=NO
  ,V64SHARED=YES  
   
  ,V64COMMON=NO Default: V64COMMON=NO
  ,V64COMMON=YES  
   
  ,TRACKINFO=NO Default: TRACKINFO=NO
  ,TRACKINFO=YES  
   
  ,V64SELECT=NO Default: V64SELECT=NO
  ,V64SELECT=YES  
   
  ,USERTOKEN=usertoken Default: USERTOKEN=NO_USERTKN
  ,USERTOKEN=NO_USERTOKEN  
   
  ,SVCDUMPRGN=YES Default: SVCDUMPRGN=YES
  ,SVCDUMPRGN=NO  
  ,SVCDUMPRGN=ALL  
   
  ,DUMP=ALL Default: DUMP=ALL
  ,DUMP=LIKECSA  
  ,DUMP=LIKESQA  
  ,DUMP=LIKERGN  
   ,DUMPPROTOCOL=NO Default: DUMPPROTOCOL=NO
     ,ORDER=ASCENDING Default: ORDER=ASCENDING
     ,ORDER=DUMPPRIORITY  
   ,DUMPPROTOCOL=YES  
   
  ,OWNERCOM=ALL Default: OWNERCOM=ALL
  ,OWNERCOM=HOME  
  ,OWNERCOM=PRIMARY  
  ,OWNERCOM=SYSTEM  
  ,OWNERCOM=BYASID  
   ,OWNERASID= ownerasid  
   ,OWNERASID=ALL Default: OWNERASID=ALL
   
  ,PAGEFRAMESIZE=All Default: PAGEFRAMESIZE=All
  ,PAGEFRAMESIZE=4K  
  ,PAGEFRAMESIZE=1MEG  
   
  ,OWNERJOBNAME=ownerjobname ownerjobname: RS-type address or address in register (2) - (12).
  ,OWNERJOBNAME=All Default: OWNERJOBNAME=ALL
   
  ,ATTRIBUTE=DEFS Default: ATTRIBUTE=DEFS
  ,ATTRIBUTE=NOTOWNERGONE  
  ,ATTRIBUTE=OWNERGONE  
   
  ,RETCODE=retcode retcode: RS-type address or register (2) - (12).
   
  ,RSNCODE=rsncode rsncode: RS-type address or register (2) - (12).
   
  ,PLISTVER=IMPLIED_VERSION Default: PLISTVER=IMPLIED_VERSION
  ,PLISTVER=MAX  
  ,PLISTVER=0, 1, 2, 3, 4, 5  
   
  ,MF=S Default: MF=S
  ,MF=(L,list addr) list addr: RS-type address or register (1) - (12).
  ,MF=(L,list addr,attr)  
  ,MF=(L,list addr,0D)  
  ,MF=(E,list addr)  

  ,MF=(E,list addr,COMPLETE)

 
   

Parameters

The parameters are explained as follows:

name
An optional symbol, starting in column 1, that is the name on the IARV64 macro invocation. The name must conform to the rules for an ordinary assembler language symbol.
REQUEST=LIST
A required parameter. REQUEST=LIST provides information about memory objects.

The information is returned in a work area that you specify, in a format described in IAXV64WA. Information includes starting address, ending address, storage key and flags indicating if the memory object is shared or if it contains multiple guard areas.

The following information can be requested:
  • Memory objects for the entire address space
  • Memory objects in the entire address space that have been marked SVCDUMPRGN=YES
  • Memory objects in the entire address space that have a specific SVCDUMPRGN attribute
  • Memory objects in the entire address space that have a specific PAGEFRAMESIZE attribute
  • Shared memory objects for the entire system
  • 64-bit common memory object for the entire system.
,V64LISTPTR=v64listptr
A required input parameter that contains the address that specifies the address of the work area which contains the results of the list request. This work area must be in fixed storage addressable from the address space for which the LIST request is made, and must be initialized to zero by the caller.

To code: Specify the RS-type address, or address in register (2)-(12), of a pointer field.

,V64LISTLENGTH=v64listlength
A required input parameter that specifies the length of the work area which contains the results of the list request. The work area must be at least 108 bytes long when TRACKINFO=YES or 64 bytes long when TRACKINFO=NO.

To code: Specify the RS-type address, or address in register (2)-(12), of a fullword field.

,V64SHARED=NO
,V64SHARED=YES
An optional input parameter that specifies whether the list of memory objects returned is for private memory objects, which the current primary space owns as well as shared memory objects connected to the current primary address space, or a list of all shared memory objects defined in the system through GETSHARED. The default is V64SHARED=NO.
,V64SHARED=NO
The list of memory objects returned for the current primary address space includes private memory objects that are defined for the private area through an IARV64 GETSTOR and shared memory objects connected to the current primary address space through an IARV64 SHAREMEMOBJ.
,V64SHARED=YES
The list is of shared memory objects defined for the system through GETSHARED.
,V64COMMON=NO
,V64COMMON=YES
An optional parameter that specifies whether the list of memory object returned is for the current primary address space, or a list of all 64-bit common memory objects allocated in the system via an IARV64 REQUEST=GETCOMMON. The default is V64COMMON=NO.
,V64COMMON=NO
The list of memory objects returned for the current primary address space includes private memory objects (which are defined for the private area via an IARV64 REQUEST=GETSTOR), shared memory objects (connected to the current primary address space via an IARV64 REQUEST=SHAREMEMOBJ).
,V64COMMON=YES
The list of memory objects returned contains all 64-bit common memory objects defined in the system via IARV64 REQUEST=GETCOMMON.
,V64SELECT=NO
,V64SELECT=YES

An optional parameter that specifies whether the list request is for all allocated memory objects or for a subset of the allocated memory objects The default is V64SELECT=NO.

,V64SELECT=NO
The request is for all allocated memory objects. No additional selection criteria apply to the list of memory objects returned.
,V64SELECT=YES
The request is for a subset of the allocated memory objects. Only memory objects that meet all the selection criteria is returned. If a selection criteria keyword is not specified, its default will apply. If no memory object meets the selection criteria, no object will be returned.
,TRACKINFO=NO
,TRACKINFO=YES
When V64COMMON=YES is specified, an optional parameter that specifies if the common memory object tracking information should be returned. Default is TRACKINFO=NO.
,TRACKINFO=NO
Common memory object tracking information will not be returned.
,TRACKINFO=YES
Common memory object tracking information will be returned. See IAXV64WA for output format.
,USERTOKEN=NO_USERTKN
,USERTOKEN=xusertkn
When V64SELECT=YES is specified, an optional parameter that specifies whether additional selection criteria based on user token is applied to the set of memory object descriptions returned by the LIST request. The default is NO_USERTKN.
,USERTOKEN=NO_USERTKN
The memory objects returned are not filtered based on USERTKN. All memory objects, regardless of what the USERTKN specification was on the IARV64 GETSTOR or IARV64 SHAREMEMOBJ request for V64SHARED=NO or IARV64 GETSHARED request for V64SHARED=YES, are included in the set of memory objects returned.
,USERTOKEN=xusertkn
When V64SHARED=NO is specified, memory objects in the current primary address space that have a matching user token specified on the IARV64 GETSTOR or IARV64 SHAREMEMOBJ request are included in the set of memory objects returned. When V64SHARED=YES is specified, shared memory objects defined in the system that have a matching user token specified on the IARV64 GETSHARED request are included in the set of memory objects returned.
,SVCDUMPRGN=YES
,SVCDUMPRGN=NO
,SVCDUMPRGN=ALL
When V64SELECT=YES is specified, an optional parameter that specifies whether the memory object should be included within the set of memory object descriptions returned by the LIST request. The default is SVCDUMPRGN=YES. This keyword is ignored when V64SHARED=YES is specified.
,SVCDUMPRGN=YES
The memory objects with the SVCDUMPRGN=YES attribute are included in the set of memory objects returned.
,SVCDUMPRGN=NO
The memory objects with the SVCDUMPRGN=NO attribute are included in the set of memory objects returned.
,SVCDUMPRGN=ALL
All memory objects are included in the set of memory objects returned regardless if they have the SVCDUMPRGN=YES or SVCDUMPRGN=NO attributes.
,DUMP=ALL
,DUMP=LIKECSA
,DUMP=LIKESQA
,DUMP=LIKERGN
   ,DUMPPROTOCOL=NO
     ,ORDER=ASCENDING
     ,ORDER=DUMPPRIORITY
  ,DUMPPROTOCOL=YES
When V64SELECT=YES is specified, an optional parameter that specifies whether the memory object should be included within the set of memory object descriptions returned by the LIST request.
,DUMP=ALL
All memory objects, (regardless of what the SVCDUMP specification was on the IARV64 GETSTOR/GETCOMMON/SHAREMEMOBJ request ) are included in the set of memory objects returned.
,DUMP=LIKECSA
The 64-bit common memory objects that have the DUMP=LIKECSA attribute specified or defaulted to on the IARV64 GETCOMMON request are included in the set of memory objects returned.
,DUMP=LIKESQA
The 64-bit common memory objects that have the DUMP=LIKESQA attribute specified or defaulted to on the IARV64 GETCOMMON request are included in the set of memory objects returned.
,DUMP=LIKERGN
The 64-bit private or 64-bit shared memory objects that have the DUMP=LIKERGN attribute specified or defaulted to on the IARV64 GETSTOR/SHAREMEMOBJ request are included in the set of memory objects returned.
,DUMPPROTOCOL=NO
,DUMPPROTOCOL=YES
An optional input parameter that specifies whether or not special selection criteria should be applied to the set of memory object descriptions returned by the LIST request. The DEFAULT is DUMPPROTOCOL=NO.
,DUMPPROTOCOL=NO
No additional selection criteria is applied.
,DUMPPROTOCOL=YES
When USERTOKEN=usertoken and SVCDUMPRGN=YES are specified, memory objects are returned according to certain selection criteria.
,ORDER=ASCENDING
,ORDER=DUMPPRIORITY
When V64SELECT=YES and DUMPPROTOCOL=NO is specified, an optional parameter that specifies the order in which the memory objects matching the selection criteria on the LIST request will be returned. The default is ORDER=ASCENDING.
,ORDER=ASCENDING
Memory objects that match the selection criteria are returned in ascending start address order.
,ORDER=DUMPPRIORITY
Memory objects that match the selection criteria are returned in dump priority order where memory objects with higher priority are listed before memory objects with lower priority. Within a dump priority level, memory objects will be listed based on ascending start address. ORDER=DUMPPRIORITY cannot be specified with V64SHARED=YES. ORDER=DUMPPRIORITY also can not be specified when SVCDUMPRGN=NO is specified.
,OWNERCOM=ALL
,OWNERCOM=HOME
,OWNERCOM=PRIMARY
,OWNERCOM=SYSTEM
,OWNERCOM=BYASID
An optional keyword input that specifies the owning entity of the 64-bit common memory objects to be included in the set returned.
,OWNERCOM=ALL
The 64-bit common memory objects belonging to all ASIDs are included in the set returned.
,OWNERCOM=HOME
The 64-bit common memory objects belonging to the HOME asid are included in the set returned.
,OWNERCOM=PRIMARY
The 64-bit common memory objects belonging to the PRIMARY asid are included in the set returned.
,OWNERCOM=SYSTEM
The 64-bit common memory objects belonging to the SYSTEM (not associated with an address space) are included in the set returned.
,OWNERCOM=BYASID
The 64-bit common memory objects belonging to a specific ASID are included in the set returned.
,OWNERASID=ownerasid
,OWNERASID=ALL
The name of an optional halfword integer input specifying the owning ASID of the 64-bit common memory objects to be included in the set returned.
,PAGEFRAMESIZE=ALL
,PAGEFRAMESIZE=4K
,PAGEFRAMESIZE=1MEG
An optional input parameter that specifies which memory objects should be included within the set of memory object descriptions returned by the LIST request. The DEFAULT is PAGEFRAMESIZE=ALL
,PAGEFRAMESIZE=ALL
All memory objects are included in the set of memory objects returned regardless of the page frame size.
,PAGEFRAMESIZE=4K
The memory objects which were backed by 4 KB frames are included in the set of memory objects returned.
,PAGEFRAMESIZE=1MEG
The memory objects which were backed by 1MEG frames are included in the set of memory objects returned.
,OWNERJOBNAME=ownerjobname
,OWNERJOBNAME=ALL
When V64SELECT=YES and V64COMMON=YES are specified, an optional input parameter specifying the owning jobname of the 64-bit common memory objects to be included in the set returned by the LIST request. The default is ALL.

To code: Specify the RS-type address, or address in register (2)-(12), of an 8-character field.

,ATTRIBUTE=DEFS
,ATTRIBUTE=NOTOWNERGONE
,ATTRIBUTE=OWNERGONE
When V64SELECT=YES is specified, an optional parameter that specifies which memory objects should be included within the set of memory object descriptions returned by the LIST request. The default is ATTRIBUTE=DEFS.
,ATTRIBUTE=DEFS
The following ATTRIBUTE options are used to determine which memory objects should be included within the set of memory object descriptions returned by the LIST request: NOTOWNERGONE, OWNERGONE.
,ATTRIBUTE=NOTOWNERGONE
Include memory objects where the owner has not ended.
,ATTRIBUTE=OWNERGONE
Include memory objects where the owner has ended.
One or more values may be specified for the ATTRIBUTE parameter. If more than one value is specified, group the values within parentheses.
,RETCODE=retcode
An optional output parameter into which the return code is to be copied from GPR 15.

To code: Specify the RS-type address of a fullword field, or register (2)-(12).

,RSNCODE=rsncode
An optional output parameter into which the reason code is to be copied from GPR 0.

To code: Specify the RS-type address of a fullword field, or register (2)-(12).

,PLISTVER=IMPLIED_VERSION
,PLISTVER=MAX
,PLISTVER=0, 1, 2, 3, 4, 5g
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, supports all parameters except those specifically referenced in higher versions.
  • 1, supports both the following parameters and parameters from version 0:
    • CONVERTSIZE64
    • CONVERTSTART
    • GUARDSIZE64
    • V64SHARED
  • 2, supports both the following parameters and parameters from version 0 and 1:
    • AMOUNTSIZE
    • DETACHFIXED
    • DOAUTHCHECKS
    • DUMP
    • DUMPPRIORITY
    • DUMPPROTOCOL
    • LOCALSYSAREA
    • MEMLIMIT
    • OPTIONVALUE
    • ORDER
    • OWNERASID
    • OWNERCOM
    • TYPE
    • UNLOCKED
    • USERTOKEN
    • V64COMMON
  • 3, supports both the following parameters and parameters from versions 0, 1, 2:
    • ATTRIBUTE
    • OWNERJOBNAME
    • TRACKINFO
  • 4, supports both the following parameter and parameters from versions 0, 1, 2, 3:
    • DMAPAGETABLE
  • 5, supports both the following parameters and parameters from versions 0, 1, 2, 3, 4:
    • UNITS
    • UNITSIZE
To code: Specify one of the following:
  • IMPLIED_VERSION
  • MAX
  • A decimal value of 0, 1, 2, 3, 4, 5
,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.