@KEYPOINT

Use the @KEYPOINT control statement to load keypoints.

The following figure shows the syntax for the @KEYPOINT control statement section of the loader input file. In this figure, the double arrowhead (►►) indicates that the information must begin on a new line.
Figure 1. @KEYPOINT control statement section of the loader input file
Read syntax diagramSkip visual syntax diagram@KEYpoint   CWD  defaultloc
Note: This must be the first line of the @KEYPOINT control statement section.
Read syntax diagramSkip visual syntax diagram,defaultloc/specificloc/keypointversion. ext% cpuid( progcmt)
Note: If you have more than one keypoint to load, use this line as many times as you need. Each time you use it, separate occurrences with a comma or start each occurrence on a new line.
Read syntax diagramSkip visual syntax diagram@@ keypoint% cpuid rsa newdata valdata- olddata% cpuid rsa newdata ONLine
Note: If you have more than one keypoint to patch (or if you have more than one patch for a keypoint), use this line as many times as you need. Each time you use it, start the next occurrence on a new line.
defaultloc
is the default location for the @KEYPOINT control statement section, where defaultloc is one of the following:
  • The name of a search path that was defined previously in an @DEFINE control statement section (for example, &KEYPPATH)
  • An absolute path (for example, /u/ztpf/keyppath)
  • A relative path (for example, keyppath).
    Note: All relative paths are appended to the current working directory, which is defined using the CWD parameter in the @DEFINE control statement section. Therefore, you must define the CWD parameter before you can specify a relative path.

The default location is searched for the keypoints listed in the @KEYPOINT control statement section. You can override the default location for a particular keypoint by specifying a specific location for that keypoint.

specificloc
is the specific location for the keypoint to load, where specificloc is one of the following:
  • The name of a search path that was defined previously in an @DEFINE control statement section (for example, &KEYPPATH)
  • An absolute path (for example, /u/ztpf/keyppath)
  • A relative path (for example, keyppath).
    Note: All relative paths are appended to the current working directory, which is defined using the CWD parameter in the @DEFINE control statement section. Therefore, you must define the CWD parameter before you can specify a relative path.

If you specify a specific location for a keypoint, this location overrides any default location that may have been defined for the @KEYPOINT control statement section; that is, only the specific location is searched for the keypoint. If the keypoint is not found in the specific location, an error occurs.

CWD
is the value specified for the CWD parameter in the @DEFINE control statement section. If you do not specify a default location or a specific location, this is the only location that is searched.
keypoint
is the keypoint to write to load. Specify one of the following:
  • CTK0
  • CTK1
  • CTK2
  • CTK3
  • CTK4
  • CTK5
  • CTK6
  • CTK7
  • CTK8
  • CTK9
  • CTKA
  • CTKB
  • CTKC
  • CTKE
  • CTKI
  • CTKM
  • CTKV.
See z/TPF and z/TPFDF System Generation for more information about these keypoints.
version
is the 1- to 2-character alphanumeric version code for the keypoint.
.ext
specifies an extension of the full keypoint name as created by the linker, where ext is the appropriate extension. For example, if the linker creates a keypoint called ctk751.so, the .so portion of the name is optional.
%cpuid
loads the specified keypoint to a processor, where cpuid is the identifier for the processor. If a processor identifier is not specified and the keypoint is processor-specific, the identifier defaults to the first processor that was defined.
(progcmt)
appends a comment for the specified keypoint that is displayed in the output report, where progcmt is the text appended.
@@keypoint
patches a keypoint, where keypoint is one of the following keypoints:
  • CTK0
  • CTK1
  • CTK2
  • CTK3
  • CTK4
  • CTK5
  • CTK6
  • CTK7
  • CTK8
  • CTK9
  • CTKA
  • CTKB
  • CTKC
  • CTKE
  • CTKI
  • CTKM
  • CTKV.
See z/TPF and z/TPFDF System Generation for more information about these keypoints.
rsa
is the 1- to 6-digit hexadecimal relative starting address in the keypoint. The relative starting address specifies the offset into the keypoint where the patch is applied.
newdata
is the new data (or patch) that will replace the old data in the keypoint, beginning at the relative starting address. The new data must be an even number of hexadecimal digits and cannot exceed 32 digits (16 bytes).
valdata-olddata
validates the data that is replaced by newdata, where olddata is an even number in hexadecimal format that does not exceed 32 digits (16 bytes). The data specified for olddata must match what is currently in the keypoint. If it does not, the data in the keypoint is not changed and an error occurs. If it does, the data in the keypoint is replaced by newdata. For example, this parameter can help verify that your patch is starting at the correct relative starting address.
Note:
  1. The length of the data that you are validating can have fewer bytes or more bytes than the new data. If the validation is completed successfully, only the number of bytes in your new data will be replaced.
  2. This parameter is ignored if the patch is for an online keypoint.
ONLine
specifies that only the patch data is applied to the online keypoint. The entire keypoint is not loaded and the online keypoint is not changed except for the patch data.
Note: You must specify the ONLine parameter when patching a keypoint that is not being loaded.