Accessing the parameter area

Once the recovery routine gets control, the routine must know how to access the parameter area. That varies according to whether the system provided an SDWA, and according to how the recovery routine was defined:
  • SDWA is present
    • ESTAE and FESTAE macros

      SDWAPARM and GPR 2 contain the address of the parameter area you specified on the PARAM parameter on ESTAE or FESTAE. For FESTAE, if you did not specify PARAM, either SDWAPARM or GPR 2 contains the address of the 24-byte parameter area in the SVRB (RBFEPARM).

    • ESTAEX macro

      SDWAPARM contains the address of an 8-byte field, which contains the address and ALET of the parameter area you specified on the PARAM parameter on ESTAEX, and GPR 2 contains the address of the parameter area you specified on the PARAM parameter on ESTAEX. AR 2 contains the ALET qualifying the address in GPR 2.

    • ESTAEX macro issued in AMODE 64

      SDWAPARM contains the address of an 8-byte area, which contains the address of the parameter area you specified on the PARAM parameter of ESTAEX. GPR 2 contains the 64-bit address of the parameter area.

    • ATTACHX macro with ESTAI parameter

      SDWAPARM and GPR 2 contain the address of the parameter area you specified on the ESTAI parameter on ATTACHX. When ATTACHX is issued in AMODE 64 the parameter list address is still treated as a 31-bit address. The parameter area specified on ATTACHX is always assumed to be in the primary address space, so for AR-mode callers, the ALET is always zero.

    • ARRs not in AMODE 64

      SDWAPARM contains the address of a copy of the 8-byte modifiable area of the linkage stack, and GPR 2 contains a copy of the first 4 bytes from the 8-byte modifiable area of the linkage stack; AR 2 contains a copy of the second 4 bytes from the 8-byte modifiable area of the linkage stack. The stacking PC routine covered by the ARR should have set the contents of this modifiable area to contain the address and ALET of the parameter area by using the MSTA instruction.

    • ARRs in AMODE 64

      SDWAPARM contains the address of a copy of the 8-byte modifiable area of the linkage stack, and 64-bit GPR 2 contains a copy of that 8-byte modifiable area; AR 2 contains 0. The stacking PC routine covered by the ARR should have set the contents of this modifiable area to contain the 64-bit address of the parameter area by using the MSTA instruction.

    • IEAARR macro

      SDWAPARM contains the address of an 8-byte area. The first word of this area contains the address of the parameter area you specified on the ARRPARAMPTR parameter of IEAARR and the second word does not contain interface information. GPR 2 contains the address of the parameter area.

    • IEAARR macro issued in AMODE 64

      SDWAPARM contains the address of an 8-byte area, which contains the address of the parameter area you specified on the ARRPARAMPTR64 parameter of IEAARR. GPR 2 contains the 64-bit address of the parameter area.

    • FRRs

      SDWAPARM and GPR 2 contain the address of the 24-byte parameter area returned by the SETFRR macro when you specified PARMAD.

  • SDWA is not present
    • ESTAE and FESTAE macros

      GPR 2 contains the address of the parameter area you specified on the PARAM parameter on ESTAE or FESTAE. For FESTAE, if you did not specify PARAM, GPR 2 contains the address of the 24-byte parameter area in the SVRB (RBFEPARM).

    • ESTAEX macro

      GPR 2 contains the address of the parameter area you specified on the PARAM parameter on ESTAEX. AR 2 contains the ALET qualifying the address in GPR 2.

    • ESTAEX macro issued in AMODE 64

      GPR2 contains the 64-bit address of the parameter area you specified on the PARAM parameter of ESTAEX.

    • ATTACHX macro with ESTAI parameter

      SDWAPARM and GPR 2 contain the address of the parameter area you specified on the ESTAI parameter on ATTACHX. When ATTACHX is issued in AMODE 64 the parameter list address is still treated as a 31-bit address. The parameter area specified on ATTACHX is always assumed to be in the primary address space, so for AR-mode callers, the ALET is always zero.

    • ARRs not in AMODE 64

      GPR 2 contains a copy of the first 4 bytes from the 8-byte modifiable area of the linkage stack; AR 2 contains a copy of the second 4 bytes from the 8-byte modifiable area of the linkage stack. The stacking PC routine covered by the ARR should have set the contents of this modifiable area to contain the address and ALET of the parameter area by using the MSTA instruction.

    • ARRs in AMODE 64

      64-bit GPR 2 contains a copy of the 8-byte modifiable area of the linkage stack; AR 2 contains 0. The stacking PC routine covered by the ARR should have set the contents of this modifiable area to contain the 64-bit address of the parameter area by using the MSTA instruction.

    • IEAARR macro

      GPR 2 contains the address of the parameter area you specified on the ARRPARAMPTR parameter of IEAARR.

    • IEAARR macro issued in AMODE 64

      GPR 2 contains the 64-bit address of the parameter area you specified on the ARRPARAMPTR64 parameter of IEAARR.

    • FRRs

      FRRs always get control with an SDWA.