The LOC parameter on the RU, RC, VRU, and VRC forms of the GETMAIN
macro specifies not only the virtual storage location of the area
to be obtained, but also the central storage location when the storage
is page fixed.
- LOC=24 indicates that the virtual storage is to be located
below 16 megabytes. When the area is page fixed, it is to be backed
with central storage below 16 megabytes.
- LOC=(24,31) indicates that virtual storage is to be
located below 16 megabytes but that central storage can be located
either above or below 16 megabytes, but below 2 gigabytes.
- LOC=(24,64) indicates that virtual storage is to be located below
16 megabytes but that central storage can be located anywhere.
- LOC=31 and LOC=(31,31) indicate that both virtual
and central storage can be located either above or below 16 megabytes, but
below 2 gigabytes in central storage.
- LOC=(31,64) indicates that virtual storage is to be located below
2 gigabytes but that central storage can be located anywhere.
- LOC=RES indicates that the location of virtual and central storage
depends on the location (RMODE) of the GETMAIN issuer. If the issuer
has an RMODE of 24, LOC=RES indicates the same thing as LOC=24;
if the issuer has an RMODE of ANY, LOC=RES indicates the same thing
as LOC=31.
- LOC=(RES,31) indicates that the location of virtual storage
depends on the location of the issuer but that central storage can
be located anywhere below 2 gigabytes.
- LOC=(RES,64) indicates that the location of virtual storage depends
on the location of the issuer but that central storage can be located
anywhere.
Note: There is exception to the meaning of LOC=RES and LOC=(RES,31).
A caller residing below 16 megabytes but running with 31-bit addressing
can specify LOC=RES (either explicitly or by taking the default) or LOC=(RES,31) to
obtain storage from a subpool supported only above 16 megabytes. In
this case, the caller's AMODE determines the location of the virtual
storage.
LOC is optional except in the following case: A program that resides
above 16 megabytes and uses the RU, RC, VRU, and VRC forms of GETMAIN must specify either LOC=24 or LOC=(24,31) on
GETMAIN requests for storage that will be used by programs running
in 24-bit addressing mode. Otherwise, virtual storage would be assigned
above 16 megabytes and 24-bit addressing mode programs could not use
it.
The location of virtual storage can also be specified on the PGSER
(page services) macro. The ANYWHER parameter on PGSER specifies that
a particular virtual storage area can be placed either above or below
16 megabytes on future page-ins. This parameter applies to virtual
storage areas where LOC=(24,31) or LOC=(31,31) was
not specified on GETMAIN.