Programming Interface Information:
This information is NOT
intended to be
used as Programming Interfaces of VM/ESA. It is to be used for diagnosis only. |
CPEBK
Cross Reference (Contains links to field and bit definitions)
CPEBK Prolog
NAME : HCPCPEBK DESCRIPTION: CP TASK EXECUTION BLOCK DSECT : CPEBK FUNCTION : HCPCPEBK MAINTAINS REGISTER VALUES AND ADDRESSING INFORMATION (MODULE ADDRESS OR ENTRY POINT ADDRESS) TO ALLOW CODE TO BE EXECUTED ASYNCHRONOUSLY. NOTE: A CPEBK IS IDENTICAL TO A SAVBK. LOCATED BY : CPEXFPNT DOUBLY CHAINED CPEXBPNT DOUBLY CHAINED CACXRCPX FIELD OF HCPCACBK (X-SIDE CHANNEL RECONNECT) CACYRCPX FIELD OF HCPCACBK (Y-SIDE CHANNEL RECONNECT) DIOQUEUE FIELD OF HCPDIOBK (PENDING CRW TASKS FOR THE CORRESPONDING RDEV) GSDCPEX FIELD OF HCPGSDBK LCKQUE FIELD OF HCPLCKBK (OBTAIN LOCK QUEUE) PIOCPEX FIELD OF HCPPIOBK (PAGING I/O) RDEVWTDV FIELD OF HCPRDEV (WAIT-DEVICE) SYSDCPEX FIELD OF HCPSYSCM (DIRECTORY SWAP CONTROL BLOCK) VDSDSTK FIELD OF HCPVDSBK (DEFERRED STACK FOR DEVICE) VMDQURCP FIELD OF HCPVMDBK (URGENT CPEBK STACK) VMDQCPEF FIELD OF HCPVMDBK (NORMAL CPEBK STACK) HCPPAGQ FIELD OF HCPPAG (TASKS IN TRANSIT - ACTIVE I/O) HCPPTRKQ FIELD OF HCPPTR (TASKS IN PAGE WAIT FROM A STEAL TASK WRITE) HCPPTRRQ FIELD OF HCPPTR (PAGING READ REQUEST QUEUE) HCPPTRWQ FIELD OF HCPPTR (PAGING WRITE REQUEST QUEUE) FREEQ FIELD OF HCPPTR (TASKS WAITING FOR FREE FRAME) STACKQ FIELD OF HCPPTR (RELATED TASKS WAITING FOR A PAGE) WAITQ FIELD OF HCPPTR (TASKS WAITING FOR USERS IN PAGE WAIT) CREATED BY : HCPABN SWITCH BACK TO ORIGINAL USER DURING SOFT ABEND HCPCSP SWITCH TO BASE VMDBK DURING CLOSE OR SPOOL COMMAND HCPCTC SUSPEND COMMANDS DURING CTCA PROCESSING HCPFRE SWITCH TO MASTER PROCESSOR DURING FREE STORAGE EXTEND HCPGDS SIMULATE DASD UNSOLICITED INTERRUPT HCPGFS SWITCH TO RDEVUSER FOR FULLSCREEN PROCESSING HCPGMC STACKED GOTO ENDOP TO REFLECT MACHINE CHECK HCPGRF TRANSFER CONTROL DURING LOGON, SWITCH TO BASE VMDBK IF NEEDED AFTER CALL TO HCPIOSRQ HCPGRS DEFERRED WRITE TO PRINTER FOR PF COPY HCPIOS DEFERRED DEVICE INTERVENTION-REQUIRED TASK HCPLOC WAIT FOR LOCK TO BECOME UNLOCKED HCPLOG DEFERRED RECONNECT, AUTOLOG, LOGON OF V=R USER HCPMCH CALL HCPGMC ASYNCHRONOUSLY TO REFLECT MACHINE CHECK, ARRANGE FOR MACHINE CHECK SLIH TO RUN ASYNCHRONOUSLY HCPMCW CALL HCPGMC ASYNCHRONOUSLY TO REFLECT MACHINE HCPMPF DEFERRED UNDEDICATE PROCESSOR TASK DURING SWITCH MASTER PROCESSOR HCPPAG DEFERRED PAGING I/O ERROR MESSAGE HCPPGT DEFERRED PAGING/SPOOLING SPACE FULL MESSAGE HCPPTR DEFERRED TASKS (STEAL TASK, PAGING DURING FREE STORAGE EXTEND, PUT USER IN PAGE I/O WAIT) HCPQCO DEFERRED COMPLETION RESPONSE TO COMBK ORIGINATOR HCPRES DEFERRED COMPLETION RESPONSE (PATH-MANAGEMENT CONTROL) HCPRFC (RFCNT) PENDING CRW TASK -OR- CRW TASK STACKED ON THE SYSTEM. HCPRSP DEFERRED SPOOL DEVICE REQUEST HCPSFR DEFERRED SPOOL FILE DELETION HCPSTK DEFERRED RELEASE OF VMDBK STORAGE DURING LOGOFF HCPUDR DEFERRED DIRECTORY SWAP TASK HCPUSO DEFERRED LOGOFF OF FORCED-OFF USER HCPVSP DEFERRED VIRTUAL SPOOLING REQUEST HCPVUR DEFERRED VIRTUAL UNIT RECORD DEVICE REQUEST DELETED BY : HCPSVC CPEBKS ARE DELETED AS SAVBKS SERIALIZED : SERIALIZATION IS PROVIDED BY THE DISPATCH LOCK EXCEPT FOR CPEXCPRQ WHICH IS SERIALIZED BY TRQBK AND BY THE MP DEFER FUNCTION. COMMENTS : CPEXFPNT AND CPEXBPNT ARE USED TO MAINTAIN VARIOUS CPEBK QUEUES AND STACKS. ROUTINES MAY USE THESE FIELDS IF THE CPEBK IS NOT CURRENTLY ON A QUEUE OR STACK. AN EXAMPLE IS THE SAVBK (A CPEBK SYNONYM) USED ON A DYNAMIC CALL. IF A ROUTINE CALLS ANOTHER ROUTINE TO STACK A CPEBK ONTO A QUEUE, THE CALLING ROUTINE SHOULD BE AWARE THAT THE CPEXFPNT AND CPEXBPNT FIELDS MAY HAVE BEEN CHANGED AS A RESULT OF THE CALL. THE CALLING ROUTINES SHOULD REFRAIN FROM USING THESE FIELDS. NOTES : THE CPEXFPNT, CPEXBPNT AND CPEXSFQP ARE ASSUMED TO BE THE FIRST THREE WORDS IN THIS CONTROL BLOCK BY PROCESSING IN HCPFTH. THUS, IF YOU CHANGE THE LOCATION OF THESE FIELDS THEN YOU MUST ALSO UPDATE HCPFTH
CPEBK Control Block Content
CPEBK DSECT
Hex Dec Type/Val Lng Label (dup) Comments ---- ---- --------- ---- -------------- -------- 0000 0 Structure CPEBK CP TASK EXECUTION BLOCK NOTES : THIS CONTROL BLOCK IS IDENTICAL TO SAVBK. CPEBK IS DEFINED AS A SAVBK WITH DIFFERENT NAMES TO ALLOW ADDRESSABILITY TO BOTH SAVBK AND CPEBK WITHIN ONE MODULE. 0000 0 Signed 4 CPEXFPNT GENERAL FORWARD POINTER 0004 4 Signed 4 CPEXBPNT GENERAL BACKWARD POINTER (BACKWARD POINTER NOT USED FOR SINGLE-THREAD LISTS) 0008 8 Address 4 CPEXSFQP SAVBK FRAME QUEUE POINTER 000C 12 Address 4 CPEXCPRQ CROSS PROCESSOR RETURN QUEUE ADDR 0010 16 Dbl-Word 8 CPEXSCHD (0) SAVBK STACKING CONTROL FIELDS 0010 16 Bitstring 1 CPEXSCHC HCPSAVBK DISPATCHING CONTROLS 1... .... SAVENOFR X'80' DO NOT FRET SAVBK ON DISPATCH .1.. .... SAVESKCR X'40' THIS IS A STACKED RETURN ..1. .... SAVESKCL X'20' THIS IS A STACKED CALL ...1 .... SAVERTNF X'10' "RETURN" WITH NO FRET .... 1... SAVEUCFM X'08' STACK AS CONSOLE FUNCTION CPEBK .... .1.. SAVEURGT X'04' STACK AS AN URGENT CPEBK .... ...1 SAVEDMCO X'01' DISPATCH ON THE MASTER CPU ONLY 0011 17 Bitstring 1 CPEXCALC SAVEBK USAGE STATUS 1... .... SAVEOPEN X'80' SAVBK IN USE FOR A CALL .1.. .... SAVEGET X'40' SAVBK OBTAINED VIA 'GET SAVBK' ..1. .... SAVEPGLK X'20' CALLEE MODULE IS PAGEABLE, AND WAS LOCKED ...1 .... SAVEPGWT X'10' CALL WAITING ON PAGEABLE MODULE TO BE PAGED IN .... 1... SAVESPAR X'08' SAVBK IS NOT ACTIVE 0012 18 Signed 2 * RESERVED 0014 20 Address 4 CPEXRETN RETURN LINKAGE ROUTINE ADDRESS 0018 24 Bitstring 64 CPEXREGS (0) CALLERS REGISTERS - R0 TO R15 0018 24 Signed 4 CPEXR0 REGISTER 0 001C 28 Signed 4 CPEXR1 REGISTER 1 0020 32 Signed 4 CPEXR2 (0) REGISTER 2 THE FOLLOWING BYTE DEFINITIONS FOR CPEXR2 ARE FOR TESTING OF PARAMETERS PASSED BETWEEN MODULES. 0020 32 Bitstring 1 CPEXR2B0 REGISTER 2 BYTE 0 0021 33 Bitstring 1 CPEXR2B1 REGISTER 2 BYTE 1 0022 34 Bitstring 1 CPEXR2B2 REGISTER 2 BYTE 2 0023 35 Bitstring 1 CPEXR2B3 REGISTER 2 BYTE 3 0024 36 Signed 4 CPEXR3 REGISTER 3 0028 40 Signed 4 CPEXR4 REGISTER 4 002C 44 Signed 4 CPEXR5 REGISTER 5 0030 48 Signed 4 CPEXR6 REGISTER 6 0034 52 Signed 4 CPEXR7 REGISTER 7 0038 56 Signed 4 CPEXR8 REGISTER 8 003C 60 Signed 4 CPEXR9 REGISTER 9 0040 64 Signed 4 CPEXR10 REGISTER 10 0044 68 Signed 4 CPEXR11 REGISTER 11; ALSO VMDBK ADDRESS OF USER ON WHICH CPEBK IS SCHEDULED 0048 72 Signed 4 CPEXR12 REGISTER 12 004C 76 Signed 4 CPEXR13 REGISTER 13; ALSO PREVIOUS SAVE AREA ADDRESS ON CALL 0050 80 Signed 4 CPEXR14 REGISTER 14; ALSO RETURN ADDRESS ON CALL OR STACKED SAVBK RETURN 0054 84 Signed 4 CPEXR15 GOTO ADDRESS ON SCHEDULED CPEBK EXECUTION 0058 88 Bitstring 40 CPEXWRK (0) WORK AREA 0058 88 Signed 4 CPEXWRK0 WORK AREA 005C 92 Signed 4 CPEXWRK1 WORK AREA 0060 96 Signed 4 CPEXWRK2 WORK AREA 0064 100 Signed 4 CPEXWRK3 WORK AREA 0068 104 Signed 4 CPEXWRK4 WORK AREA 006C 108 Signed 4 CPEXWRK5 WORK AREA 0070 112 Signed 4 CPEXWRK6 WORK AREA 0074 116 Signed 4 CPEXWRK7 WORK AREA 0078 120 Signed 4 CPEXWRK8 WORK AREA 007C 124 Signed 4 CPEXWRK9 WORK AREA 00000010 CPEXSIZE (*-CPEBK+7)/8 SIZE IN DOUBLE WORDS
CPEBK Storage Layout
*** CPEBK - CP TASK EXECUTION BLOCK * * +---------------------------+---------------------------+ * 0 | CPEXFPNT | CPEXBPNT | * +---------------------------+---------------------------+ * 8 | CPEXSFQP | CPEXCPRQ | * +------+------+-------------+---------------------------+ * 10 |:XSCHC|:XCALC|/////////////| CPEXRETN | * +------+------+-------------+---------------------------+ * 18 | CPEXR0 | CPEXR1 | * +------+------+------+------+---------------------------+ * 20 |:XR2B0|:XR2B1|:XR2B2|:XR2B3| CPEXR3 | * +------+------+------+------+---------------------------+ * 28 | CPEXR4 | CPEXR5 | * +---------------------------+---------------------------+ * 30 | CPEXR6 | CPEXR7 | * +---------------------------+---------------------------+ * 38 | CPEXR8 | CPEXR9 | * +---------------------------+---------------------------+ * 40 | CPEXR10 | CPEXR11 | * +---------------------------+---------------------------+ * 48 | CPEXR12 | CPEXR13 | * +---------------------------+---------------------------+ * 50 | CPEXR14 | CPEXR15 | * +---------------------------+---------------------------+ * 58 | CPEXWRK0 | CPEXWRK1 | * +---------------------------+---------------------------+ * 60 | CPEXWRK2 | CPEXWRK3 | * +---------------------------+---------------------------+ * 68 | CPEXWRK4 | CPEXWRK5 | * +---------------------------+---------------------------+ * 70 | CPEXWRK6 | CPEXWRK7 | * +---------------------------+---------------------------+ * 78 | CPEXWRK8 | CPEXWRK9 | * +---------------------------+---------------------------+ * 80 * *** CPEBK - CP TASK EXECUTION BLOCK
CPEBK Cross Reference
(contains links to field and bit definitions)Symbol Dspl Value -------------- ---- -----CPEXBPNT 0004
CPEXCALC 0011
CPEXCPRQ 000C
CPEXFPNT 0000
CPEXREGS 0018
CPEXRETN 0014
CPEXR0 0018
CPEXR1 001C
CPEXR10 0040
CPEXR11 0044
CPEXR12 0048
CPEXR13 004C
CPEXR14 0050
CPEXR15 0054
CPEXR2 0020
CPEXR2B0 0020
CPEXR2B1 0021
CPEXR2B2 0022
CPEXR2B3 0023
CPEXR3 0024
CPEXR4 0028
CPEXR5 002C
CPEXR6 0030
CPEXR7 0034
CPEXR8 0038
CPEXR9 003C
CPEXSCHC 0010
CPEXSCHD 0010
CPEXSFQP 0008
CPEXSIZE 007C 00000010
CPEXWRK 0058
CPEXWRK0 0058
CPEXWRK1 005C
CPEXWRK2 0060
CPEXWRK3 0064
CPEXWRK4 0068
CPEXWRK5 006C
CPEXWRK6 0070
CPEXWRK7 0074
CPEXWRK8 0078
CPEXWRK9 007C
SAVEDMCO 0010 01
SAVEGET 0011 40
SAVENOFR 0010 80
SAVEOPEN 0011 80
SAVEPGLK 0011 20
SAVEPGWT 0011 10
SAVERTNF 0010 10
SAVESKCL 0010 20
SAVESKCR 0010 40
SAVESPAR 0011 08
SAVEUCFM 0010 08
SAVEURGT 0010 04
Last updated on 3 Aug 1999 at 11:47:58 EDT.
Copyright IBM Corporation, 1990, 1999