z/OS MVS Programming: Extended Addressability Guide
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


IARV64 macro services

z/OS MVS Programming: Extended Addressability Guide
SA23-1394-00

The IARV64 macro provides services to manage the 64-bit virtual storage for your programs. Table 1 introduces these services and the rules for what programs can do with the memory objects your programs create and use. The first column identifies the IARV64 service and its functions, the second column describes what a program can do if it is in problem state or has PSW key 8 through F, and the third column describes what a program can do if it is in supervisor state or has PSW key 0 through 7.
Table 1. IARV64 Services and Rules for What Programs Do with Memory Objects
Function A problem state, key 8–F program A supervisor state or key 0–7 program
GETSTOR—create a private memory object

Can get a private memory object in the primary address space, only when the program's home and primary address space is the same.

The storage key of the memory object will be the same as the PSW key of the caller.

Can assign ownership of the memory object to the TCB of the job step task or the mother task (the task of the program that issued the ATTACHX).

Can get a private memory object in the primary or home address space, as specified by ALETVALUE.

Can assign ownership of the private memory object to a TCB, specified by the TTOKEN, in the address space indicated by ALETVALUE.

Can define the storage key of the private memory object.

Can specify whether the private memory object can be freed by an unauthorized program and whether it can be pagefixed and unpagefixed.

DETACH—free one or more memory objects

Can free a memory object it owns.

Can free a memory object it owns.

Can free a memory object it does not own if the memory object is in the primary or home address space of the program issuing in IARV64.

PAGEFIX—fix physical pages. If you specify a list of page ranges, PAGEFIX can fix the physical pages that back more than one nonshared memory object. Cannot fix pages. Can fix pages in one or more nonshared memory objects in the primary or home address space.
UNPAGEFIX—undo a pagefix operation Cannot unfix pages. Can unfix pages in one or more nonshared memory objects in the primary or home address space.
PAGEOUT—alert the system that physical pages will not be used so that the system can optimize the use of the physical pages. Can use only if the memory object is in the primary address space. Can use for pages that back memory objects in the primary or home address space.
PAGEIN—alert the system that pages will be needed soon. Can use only if the memory object is in the primary address space. Can use for pages that back memory objects in the primary or home address space.
DISCARDATA—discard data in physical pages and optionally clear the pages to zeros. Also, you can optionally free the real frames for these pages. If you specify a list of page ranges, DISCARDDATA can discard data in more than one memory object. Can use if (1) PSW key of caller is the same as the storage key of the memory object, and (2) the memory object is in the primary address space. Can use for memory objects in the primary or home address space.

Can use if the PSW key does not match the storage key of the memory object.

CHANGEGUARD—see Creating guard areas and changing their sizes Can use this service only if it owns the memory object or if an ancestor task or the job step task owns the memory object. Can use this service in the primary or home address space.
LIST—list the memory objects. Cannot list memory objects. Can list memory objects in the primary or home address space.
GETSHARED — create a shared memory object. Cannot use this service. Can create shared memory objects in the primary or home address space.
SHAREMEMOBJ — requests that the specified address space be given access to one or more shared memory objects. Cannot use this service. Can use this service in the primary or home address space.
CHANGEACCESS — requests that a view type for segments within the specified shared memory objects be changed. Cannot use this service. Can use this service in the primary or home address space.
In summary, an unauthorized program can:
  • Create memory objects in its own address space and relate them to each other
  • Issue a CHANGEGUARD for memory objects it owns, or for memory objects that an ancestor task or its job-step task owns
  • Pageout and pagein the physical pages that back the memory objects it owns
  • Discard data in the physical pages that back the memory objects it owns
  • Detach the memory objects it owns.

The rest of this chapter describes how to use the IARV64 services. It does not describe environmental or programming requirements, register usage, or syntax rules. For that information, see the descriptions of the IARV64 macro in z/OS MVS Programming: Authorized Assembler Services Reference EDT-IXG.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014