|
Programming Interface Information:
This information is NOT intended to be
used as Programming Interfaces of z/VM. |
CPEBK
Control Block Contents
CPEBK DSECT
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.
The header of the CPEBK includes queue pointers, status flags, and a
type code. This header must be laid out the same in the SAVBK, CPEBK,
and SVGBK, since a single queue or savearea chain may contain a mix of
such blocks. This mapping is defined as the SVHBK; equivalent symbols
are included here.
0000 0 Bitstring 1 CPEXHEAD (0) Savearea header common to all
formats
The header of the savearea includes queue pointers, status flags, and a
type code. This header must be laid out the same in all savearea
formats, since a single queue or savearea chain may contain a mix of
both blocks.
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 Savearea frame queue pointer
000C 12 Address 4 CPEXCPRQ Cross processor return queue addr
0010 16 Bitstring 1 CPEXSCHC Savearea dispatching controls
1... .... CPEXNOFR X'80' Do not fret savearea on
dispatch
.1.. .... CPEXSKCR X'40' This is a stacked return
..1. .... CPEXSKCL X'20' This is a stacked call
...1 .... CPEXRTNF X'10' "Return" with no fret
.... 1... CPEXUCFM X'08' Stack as console function
work
.... .1.. CPEXURGT X'04' Stack as urgent work
.... ...1 CPEXDMCO X'01' Dispatch on the master CPU
only
0011 17 Bitstring 1 CPEXCALC Block usage status
1... .... CPEXOPEN X'80' Savearea in use for a call
.1.. .... CPEXGET X'40' Savearea obtained via GET
..1. .... CPEXPGLK X'20' Callee module is pageable,
and was locked
...1 .... CPEXPGWT X'10' Call waiting on pageable
module to be paged in
.... 1... CPEXSPAR X'08' Savearea is not active
0012 18 Bitstring 1 * Reserved
0013 19 Bitstring 1 CPEXFORM Savearea format/content
1... .... CPEXLARG X'80' Savearea is large
allocation size
.1.. .... CPEXCREG X'40' Savearea has contiguous
64-bit register fields (SVGBK)
..1. .... CPEXRG64 X'20' Savearea accommodates 64
bits per register (SVGBK or SAVBK
with SAVEHIRG extension)
.11. .... CPEXREGF CPEXCREG+CPEXRG64 Mask for
register-layout bits above; has
value:
CPEXFORM * 00 for SAVBK 01 for SAVBK with
SAVEHIRG 11 for SVGBK*null
.... .... *
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 SAVESIZE hardcoded
definition in HCPEQUAT
CPEBK Storage Layout
*** CPEBK - CP TASK EXECUTION BLOCK
*
* +---------------------------+---------------------------+
* 0 | CPEXFPNT | CPEXBPNT |
* +---------------------------+---------------------------+
* 8 | CPEXSFQP | CPEXCPRQ |
* +------+------+------+------+---------------------------+
* 10 |:XSCHC|:XCALC|//////|:XFORM| 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
Symbol Dspl Value -------------- ---- ----- * 0013 CPEXFORM * 0013 00 CPEXBPNT 0004 CPEXCALC 0011 CPEXCPRQ 000C CPEXCREG 0013 40 CPEXDMCO 0010 01 CPEXFORM 0013 CPEXFPNT 0000 CPEXGET 0011 40 CPEXHEAD 0000 CPEXLARG 0013 80 CPEXNOFR 0010 80 CPEXOPEN 0011 80 CPEXPGLK 0011 20 CPEXPGWT 0011 10 CPEXREGF 0013 60 CPEXREGS 0018 CPEXRETN 0014 CPEXRG64 0013 20 CPEXRTNF 0010 10 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 CPEXSFQP 0008 CPEXSIZE 007C 00000010 CPEXSKCL 0010 20 CPEXSKCR 0010 40 CPEXSPAR 0011 08 CPEXUCFM 0010 08 CPEXURGT 0010 04 CPEXWRK 0058 CPEXWRK0 0058 CPEXWRK1 005C CPEXWRK2 0060 CPEXWRK3 0064 CPEXWRK4 0068 CPEXWRK5 006C CPEXWRK6 0070 CPEXWRK7 0074 CPEXWRK8 0078 CPEXWRK9 007C
Last updated on 5 Jun 2001 at 13:10:21 EDT.
Copyright IBM Corporation, 1990, 2001