The parameters on PURGEDQ determine the target address space and limit the scope of the purge. When purging SRBs scheduled in the primary address space, PURGEDQ waits for dispatched SRBs to finish. When purging SRBs scheduled in an address space other than the primary, PURGEDQ does not purge SRBs that have been dispatched, nor does PURGEDQ wait for dispatched SRBs to complete.
When the target address space is not the primary address space, PURGEDQ does not guarantee that all SRBs matching the purge parameters will be purged. The issuer of PURGEDQ is not informed of SRBs that are not purged. When purging SRBs scheduled in an address space other than primary, use a resource manager termination routine (RMTR) if you need to know whether a particular SRB has been purged.
Except for the TCB, all input parameters to this macro can reside in storage above 16 megabytes if the issuer is executing in 31-bit addressing mode.
See z/OS MVS Programming: Authorized Assembler Services Guide for more information on using the PURGEDQ macro, especially the resource manager termination routine (RMTR).
The requirements for the caller are:
Environmental factor | Requirement |
---|---|
Minimum authorization: | Supervisor state or PSW key 0 - 7 or APF-authorized |
Dispatchable unit mode: | Task |
Cross memory mode: | PASN=HASN=SASN |
AMODE: | 24- or 31-bit |
ASC mode: | Primary |
Interrupt status: | Enabled for I/O and external interrupts |
Locks: | No locks held |
Control parameters: | Must be in the caller's primary address space |
None.
None.
Before issuing the PURGEDQ macro, the caller does not have to place any information into any register unless using it in register notation for a particular parameter, or using it as a base register.
After the caller issues the macro, the system might use some registers as work registers or might change the contents of some registers. When the system returns control to the caller, the contents of these registers are not the same as they were before the macro was issued. Therefore, if the caller depends on these registers containing the same value before and after issuing the macro, the caller must save these registers before issuing the macro and restore them after the system returns control.
None.
The standard form of the PURGEDQ macro is written as follows:
Syntax | Description |
---|---|
name | name: Symbol. Begin name in column 1. |
␢ | One or more blanks must precede PURGEDQ. |
PURGEDQ | |
␢ | One or more blanks must follow PURGEDQ. |
RMTR=RMTR addr | RMTR addr: RX-type address, or register (2) - (12). |
,ASID=ASID addr | ASID addr: RX-type address, or register (2) - (12). |
,ASIDTCB=addr | addr: RX-type address of an 8-byte field, or register (2) - (12) that contains an address of an 8-byte field. |
The parameters are explained as follows:
When you use the ASID parameter to purge SRBs scheduled to an address space other than primary, PURGEDQ does not guarantee that all SRBs will be purged.
Set These Bytes | To This Value | Meaning |
---|---|---|
Bytes 0-7 | Zero | The system is to purge all SRBs defined by the ASID (SRBASCB) and RMTR parameters, regardless of their task (SRBPTCB) and address space (SRBPASID) association. |
Set These Bytes | To This Value | Meaning |
---|---|---|
Bytes 0-1 | Reserved | The system is to purge all SRBs defined by |
Bytes 2-3 | ASID1 | the ASID and RMTR parameters associated |
Bytes 4-7 | Zero | with the target address space (SRBPASID), regardless of their task (SRBPTCB). |
Set These Bytes | To This Value | Meaning |
---|---|---|
Bytes 0-1 | Zero | The system is to purge all SRBs defined by |
Bytes 2-3 | ASID2 | the ASID and RMTR parameters associated |
Bytes 4-7 | TCB address | with the scheduling address space (SRBPASID) and task (SRBPTCB). (If you specify SRBPTCB, you must also specify SRBPASID.) |
17B
27B
47B
See z/OS MVS System Codes for an explanation and programmer responses for this code.
None.
PURGEDQ ASID=AS1,RMTR=RMTRA
AS1 DC XL2'0020'
PURGEDQ ASID=AS2,ASIDTCB=PURGPRM1,RMTR=RMTRB
PURGPRM1 DC XL8'00000000'
AS2 DC XL2'0021'
PURGEDQ ASIDTCB=PURGPRM2,RMTR=RMTRC
PURGPRM2 DS 0CL8
DC XL2'0000'
PURGASID DC XL2'0012'
PURGTCB DC A(TCBX)
PURGEDQ RMTR=RESCLEAN