Use this system macro to request the following services.
- Service
- Description
- PEEK
- It looks at the synchronous and asynchronous interrupts queued for a
specific symbolic device address (SDA). The data for the
queued interrupts is placed in an area provided by the requestor in accordance
with the DCTTIO DSECT.
- DISPATCH
- It dispatches the synchronous and asynchronous interrupts queued for a
specific SDA. When an interrupt is dispatched, it is sent to the common
input/output (CIO) device interrupt handler as specified in the mount
request.
- DELETE
- It deletes the synchronous and asynchronous interrupts for a specific
SDA.
Format
- label
- A symbolic name can be assigned to the macro statement.
- SDA
- This is either the label of a halfword field that contains the SDA, or a
register that contains the SDA in bytes 2 and 3 and zeros in bytes 0 and
1. The default is SDA in R1.
- TYPE
- This is the function that is requested by the caller:
- PEEK (default)
- DISPATCH
- DELETE.
- AREA
- AREA is only valid for TYPE=PEEK. AREA is either the label assigned
to an area defined by the DCTTIO DSECT or a register that contains the address
of the area. If AREA is not specified, the default register is
R0.
- INTRPT
- This is the interrupt type to be deleted. INTRPT is required for
TYPE=DELETE.
- ALL
- Both synchronous and asynchronous interrupts
- SYNC
- Synchronous interrupt only
- ASYNC
- Asynchronous interrupt only
Entry Requirements
- The TPF system must be disabled for interrupts.
- The TPF system must be running with PSW key 0.
Return Conditions
- Control is returned to the next sequential instruction (NSI).
- R0 through R15 will be unchanged.
- A condition code will be set depending on the value specified for the TYPE
parameter.
- PEEK, which is the area pointed to by the AREA parameter and described by
the DCTTIO DSECT will be filled in. The condition code will be set as
follows.
- Condition Code
- Meaning
- 0
- No active request
- 1
- Interrupt information returned
- 2
- Device currently active
- 3
- A request that is not valid
- DISPATCH for which the condition code will be set as follows.
- Condition Code
- Meaning
- 0
- No active request or operation performed
- 2
- Device currently active
- 3
- A request that is not valid
- DELETE for which the condition code will be set as follows.
- Condition Code
- Meaning
- 0
- No active request or operation performed
- 2
- Device currently active
- 3
- A request that is not valid
Programming Considerations
- This macro can be run on the main I-stream only.
- If the TYPE=DISPATCH, the macro user should not be holding any locks that
may be required by the specified SDA device interrupt handler.
- If only one of the interrupt types is to be dispatched, the other, if it
exists, must first be deleted.
- This macro is for use in the control program (CP) only.
Examples
None.