This general macro provides the interface between the Processor Status
Management Services package (PSMS) and programs requiring the ability to
inhibit or allow the system to cycle and those requesting the status of the
system state.
Format
- label
- A symbolic name can be assigned to the macro statement.
- ENABLE
- System cycle is to be allowed.
- DISABLE
- System cycle is to be inhibited.
- ENQUIRE
- System status is requested.
- CTKI
- Keypoint CTKI retrieval option (optional)
- NO
- Indicates keypoint CTKI will be retrieved, if required, on level 8
(Default)
- YES
- Indicates that keypoint CTKI will be passed to the PSMS package on level 8
- MASK=literal
- Required if ENABLE or DISABLE is coded.
This parameter is a preassigned value which identifies the calling
utility. It is ignored if ENABLE is coded.
- STATE
- Required if DISABLE or ENQUIRE is coded. It is ignored if the
ENABLE option is coded.
This parameter identifies the system state addressed by the DISABLE or
ENQUIRE option.
- literal1
- Identifies the system state being tested. Specify one of the
following:
- 1052
- UTIL
- CRAS
- MESW
- NORM.
- literal2
- Identifies the requested status of all processors. Specify one of
the following:
- SYS=BSS
- This is optional.
If coded, this parameter must equal "BSS". It is required
when it is called by a program that resides in the BSS. It identifies
the path that will be taken in activating the PSMS routine.
- THISPROC
- This specifies if this processor is to be included in the test for the
status of all processors.
- YES
- Include the system state of this processor in determining if the requested
condition is satisfied (Default).
- NO
- Exclude the system state of this processor in determining if the requested
condition is satisfied.
Entry Requirements
- R9 must contain the address of the ECB being processed.
- ECB level 8 must be available for use by the PSMS package if CTKI=NO is
coded (or the default is allowed).
- ECB level 8 must address CTKI for use by the PSMS package if CTKI=YES is
coded.
- ECB workarea EBW001-EBW005 is used by the PSMS package.
- ECB field EBSW01 is used by the PSMS package.
Return Conditions
- Control is returned to the next sequential instruction.
- The contents of ECB workarea EBW001-EBW005 will have been altered.
- On return, ECB field EBSW01 will be set as follows:
- Inhibit request (DISABLE)
- X'00'
- Cycle successfully inhibited.
- X'FF'
- Cycle unsuccessfully inhibited.
- X'01'
- Cycle already inhibited.
- Allow request (ENABLE)
Not altered.
- Status request (ENQUIRE)
- X'00'
- All processors are in the specified state.
- X'FF'
- All processors are not in the specified state.
Programming Considerations
- This macro can be executed on any I-stream.
- Masks identifying utility packages and used for the MASK parameter must
have been preassigned in the PSMS package.
- The cycle 'DISABLE' indicators as set by this function are
enforced until cancelled by a subsequent cycle 'ENABLE'
request.
- The SYS keyword must not be coded if the activating program is not BSS
resident.
- An incorrectly coded value for 'literal1' in the STATE keyword
will result in an UNDEFINED SYMBOL assembly error.
- An incorrectly coded value for the 'MASK' keyword will result in
an UNDEFINED SYMBOL assembly error.
Examples
Disable cycle above 1052 state on all processors to allow the Tape Loader
utility to process.
Label CYCPC DISABLE, X
STATE=(1052,BELOW), X
MASK=EPSTPLDR
TM EBSW01,X'FE' TEST EBSW01 FOR RETURN CODE
BZ ALLOK ALL PROCESSORS AT 1052
B NOTOK ALL PROCESSORS NOT AT 1052
ALLOK DS 0H
*
* TAPE LOADER PROCESS
*
* ENABLE THE CYCLE FUNCTION
CYCPC ENABLE, X
MASK=EPSATIM X
Check the status of other processors before starting a utility on this
processor.
Label CYCPC ENQUIRE, X
STATE=NORM, X
THISPROC=NO
TM EBSW01,X'FF' TEST EBSW01 FOR RETURN CODE
BZ ALLOK ALL OTHER PROCESSORS IN NORM
B NOTOK ALL OTHER PROCESSORS NOT IN NORM
ALLOK DS 0H
*
* RUN UTILITY
*