TSKBK Back to Index page
 
Prolog 
Control Block Contents 
   TSKBK DSECT
Storage Layout 
Cross Reference (Contains links to field and bit definitions)
Programming Interface Information:
This information is NOT intended to be
used as Programming Interfaces of z/VM.


  TSKBK Prolog Top of page
 
 NAME       : HCPTSKBK
 DESCRIPTION: Task Control Block
 DSECT      : TSKBK
 FUNCTION   : The TSKBK contains certain types of status
              information for an active or suspended task.  At
              present, the TSKBK is only used in a few selected
              cases:  to record HCPSPIE traps, HCPSAC error exits,
              claims for entries on the CP-use access list, and
              the status of a CP task suspended to resolve a page,
              segment, or region fault.
              The dispatcher itself does not operate on TSKBKs.
              In general, a task with state information in a TSKBK
              is not permitted to lose control.  However, certain
              losses of control -- those which "formally suspend"
              the task -- are permitted.  The events which formally
              suspend a task across losses of control are:
              -- The HCPACCES ATTACH and DETACH services.
              -- The handling of translation exceptions (region,
              segment, and page faults) in DAT-on CP code.
              In these special cases, the task state is preserved
              and restored across the loss of control.  When a
              task is formally suspended, a new TSKBK is allocated
              and hung off the prefix page, so that it will be
              available for use by the next task dispatched.  When
              a task is formally resumed, its TSKBK replaces the
              one currently hung off the prefix page, and the
              latter is returned to free storage.
 LOCATED BY : PFXTSKBK points to the TSKBK for the currently
              dispatched task, or one which is eligible
              for use by the current task.
              A routine which formally suspends its task must
              preserve the TSKBK pointer for use on resumption.
 CREATED BY : HCPMPSON when a processor is brought on-line.
              HCPTKMSU when a task is formally suspended.
 DELETED BY : HCPTKMRS when a task is formally resumed.
 SERIALIZED : The TSKBK which is designated by PFXTSKBK is only
              manipulated while running on the owning processor.
              Any other TSKBK is owned by the single task which
              holds its address (e.g., the task itself, about to
              be suspended or resumed), and is inaccessible to
              other tasks.
 RELOCATION CONSIDERATIONS : None
 
 
  TSKBK Control Block Content Top of page
 

 TSKBK DSECT Top of page
Hex Dec Type/Val Lng Label (dup) Comments ---- ---- --------- ---- -------------- -------- 0000 0 Structure TSKBK Task Control Block State of suspended task 0000 0 Bitstring 128 TSKGRS General registers 0080 128 Bitstring 64 TSKARS Access registers 00C0 192 Dbl-Word 8 TSKPSW (0) Short-form PSW of suspended task 00C0 192 Signed 4 TSKPSW0F 00C4 196 Signed 4 TSKPSW4F Addr mode and instruction addr 00C8 200 Dbl-Word 8 * Reserved for IBM use Resource ownership and related conditions 00D0 208 Signed 2 TSKCPDSP Count of the number of address spaces owned by the dispatched configuration which have been attached by this task to the CP-use access list. 00D2 210 Signed 2 TSKCPOTR Count of the number of address spaces not owned by the dispatched configuration which have been attached to the CP-use access list. 00D4 212 Address 4 TSKRNUSR Address of VMDBK of user that was dispatched when the task was suspended. These next fields are saved into the save block during HCPCALL. 00D8 216 Bitstring 44 TSKSAV (0) Here through TSKEVENT 00D8 216 Bitstring 1 TSKFLAGS Flags describing state of task 1... .... TSKLONGR X'80' TSKLONGR Register values saved in the TSKBK are in LongReg format (TSKGGRS used). Must be set by any code saving LongReg register values in TSKGGRS, and must be reset (set to zero) by any code saving ShortReg register values in TSKGRS. .1.. .... TSKSPILR X'40' TSKSPILR An HCPSPIE trap is active and the task is LongReg, save and restore 64 bit registers when suspending and driving exits (use TSKGGRS) ..1. .... TSKSACLR X'20' TSKSACLR An HCPSAC trap is active and the task is LongReg, save and restore 64 bit registers when suspending and driving exits (use TSKGGRS) 00D9 217 Bitstring 1 * (3) Reserved for IBM use 00DC 220 Signed 4 TSKCR0SV Preserved bits from host CR0 HCPSPIE trap settings 00E0 224 Address 4 TSKSPIEA Program-interruption exit address 00E4 228 Bitstring 4 TSKSPIEM Program-interruption exit mask 00E8 232 Dbl-Word 8 TSKBEAR Breaking-event-address register HCPSAC error exit routines 00F0 240 Address 4 TSKEXPIR Expired-internal-ASIT exit 00F4 244 Address 4 TSKSTERR Virtual-storage-error exit 00F8 248 Address 4 TSKINVAD Invalid-virtual-address exit 00FC 252 Address 4 TSKBLVOL Block-volatility exception exit Error event data: Details of a particular error condition, to be passed to an error exit routine (defined by HCPSPIE or HCPSAC). 0100 256 Bitstring 1 TSKEVENT Type of event 00000004 TSKEPROG 4 TSKEPROG Program check in CP 00000008 TSKEEXPI 8 TSKEEXPI AR-mode ref to space via CP-use ALE with expired i-ASIT 0000000C TSKEINVA 12 TSKEINVA AR-mode ref to invalid address (not within space) 00000010 TSKESTER 16 TSKESTER Paging or storage error on AR-mode reference 00000014 TSKEBVOL 20 TSKEBVOL AR-mode ref to volatile page with z-bit set 0101 257 Bitstring 3 * reserved for IBM use 0104 260 Address 4 TSKEVNTA Address of failing instruction 0108 264 Dbl-Word 8 TSKTGTIA Target i-ASIT (for event types TSKEEXPI, -BVOL, -INVA, and -STER) 0110 272 Signed 4 * Reserved 0114 276 Signed 4 TSKPRGCF (0) Program Interruption Code fields (for event type TSKEPROG) 0114 276 Signed 2 TSKPRGIL Program Interruption Instruction Length Code 0116 278 Signed 2 TSKPRGIN (0) Program Interruption Code (halfwd) 0116 278 Bitstring 1 TSKPRGEE Exception extension code 0117 279 Bitstring 1 TSKPRGIC Program Interruption Code (low byte) 00000136 PRGIADCP X'0136' PRGIADCP Addressing capability 00000400 PRGITXHA X'0400' PRGITXHA Host interrupting guest TX 00000200 PRGITRXA X'0200' PRGITRXA Transaction aborted by PRG intrpt 00000600 PRGITXMD PRGITXHA+PRGITRXA PRGITXMD TX modifiers combined 00000680 PRGIHMOD PRGITXHA+PRGITRXA+PRGIPER PRGIHMOD Prg intrpt modifiers used in host interruption handling 0000F97F PRGICHMD X'FFFF'-PRGIHMOD PRGICHMD Mask used for clearing host interruption modifiers 0118 280 Dbl-Word 8 TSKGTGTA 1) Host 64-bit virtual address of target page (for event types TSKESTER, -BVOL, and -INVA) 2) Host 64-bit TEID (for event type TSKEPROG) 011C 284 Signed 4 TSKTGTAD Host 31-bit virtual address of target page for types TSKESTER, -BVOL and -INVA Scratch area for suspended tasks: This area may be used by the routine which requests formal suspension of the task, to preserve task status. 0120 288 Bitstring 64 TSKWORKA Work area Redefine the General Purpose Register save area Short (32 bit) general purpose register values. Register values may be (but are not required to be) saved here across formal task suspension of ShortReg tasks. Register values are saved here during host interrupt processing for conditions which CP automatically resolves (region, segment, and page faults which occur while CP is running in AR mode) or which can be trapped via HCPSPIE, if the faulting task is ShortReg. If the task (suspended or faulting) is LongReg, TSKGGR* definition below is used instead. If the TSKGR* ShortReg register layout is used, TSKLONGR must be set to 0 to indicate ShortReg layout. 0000 0 Signed 4 TSKGR0 0004 4 Signed 4 TSKGR1 0008 8 Signed 4 TSKGR2 000C 12 Signed 4 TSKGR3 0010 16 Signed 4 TSKGR4 0014 20 Signed 4 TSKGR5 0018 24 Signed 4 TSKGR6 001C 28 Signed 4 TSKGR7 0020 32 Signed 4 TSKGR8 0024 36 Signed 4 TSKGR9 0028 40 Signed 4 TSKGR10 002C 44 Signed 4 TSKGR11 0030 48 Signed 4 TSKGR12 0034 52 Signed 4 TSKGR13 0038 56 Signed 4 TSKGR14 003C 60 Signed 4 TSKGR15 0040 64 Bitstring 64 TSKHGRS (0) High halves of large general registers. For internal use by HCPPRG, HCPHTT, and HCPTKM only. 0040 64 Signed 4 TSKHGR0 0044 68 Signed 4 TSKHGR1 0048 72 Signed 4 TSKHGR2 004C 76 Signed 4 TSKHGR3 0050 80 Signed 4 TSKHGR4 0054 84 Signed 4 TSKHGR5 0058 88 Signed 4 TSKHGR6 005C 92 Signed 4 TSKHGR7 0060 96 Signed 4 TSKHGR8 0064 100 Signed 4 TSKHGR9 0068 104 Signed 4 TSKHGR10 006C 108 Signed 4 TSKHGR11 0070 112 Signed 4 TSKHGR12 0074 116 Signed 4 TSKHGR13 0078 120 Signed 4 TSKHGR14 007C 124 Signed 4 TSKHGR15 Long (64 bit) general purpose register values. Register values may be (but are not required to be) saved here across formal task suspension of LongReg tasks. Register values are saved here during host interrupt processing for conditions which CP automatically resolves (region, segment, and page faults which occur while CP is running in AR mode) or which can be trapped via HCPSPIE, if the faulting task is LongReg. If the task (suspended or faulting) is ShortReg, TSKGGR* definition above is used instead. If the TSKGGR* long register layout is used, TSKLONGR should be set on to indicate LongReg layout. 0000 0 Bitstring 128 TSKGGRS (0) Large general registers 0000 0 Dbl-Word 8 TSKGGR0 0008 8 Dbl-Word 8 TSKGGR1 0010 16 Dbl-Word 8 TSKGGR2 0018 24 Dbl-Word 8 TSKGGR3 0020 32 Dbl-Word 8 TSKGGR4 0028 40 Dbl-Word 8 TSKGGR5 0030 48 Dbl-Word 8 TSKGGR6 0038 56 Dbl-Word 8 TSKGGR7 0040 64 Dbl-Word 8 TSKGGR8 0048 72 Dbl-Word 8 TSKGGR9 0050 80 Dbl-Word 8 TSKGGR10 0058 88 Dbl-Word 8 TSKGGR11 0060 96 Dbl-Word 8 TSKGGR12 0068 104 Dbl-Word 8 TSKGGR13 0070 112 Dbl-Word 8 TSKGGR14 0078 120 Dbl-Word 8 TSKGGR15 Redefine the Access Register save area 0080 128 Signed 4 TSKAR0 0084 132 Signed 4 TSKAR1 0088 136 Signed 4 TSKAR2 008C 140 Signed 4 TSKAR3 0090 144 Signed 4 TSKAR4 0094 148 Signed 4 TSKAR5 0098 152 Signed 4 TSKAR6 009C 156 Signed 4 TSKAR7 00A0 160 Signed 4 TSKAR8 00A4 164 Signed 4 TSKAR9 00A8 168 Signed 4 TSKAR10 00AC 172 Signed 4 TSKAR11 00B0 176 Signed 4 TSKAR12 00B4 180 Signed 4 TSKAR13 00B8 184 Signed 4 TSKAR14 00BC 188 Signed 4 TSKAR15 Finished 00000160 TSKLEN *-TSKBK Length in bytes of a TSKBK 0000002C TSKSIZE (TSKLEN+7)/8 Size in doublewords of a TSKBK
 
 
  TSKBK Storage Layout Top of page
 
          
*** TSKBK - Task Control Block
*
*     +-------------------------------------------------------+
*   0 |                                                       |
*     =                        TSKGRS                         =
*     |                                                       |
*     +-------------------------------------------------------+
*  80 |                                                       |
*     =                        TSKARS                         =
*     |                                                       |
*     +---------------------------+---------------------------+
*  C0 |         TSKPSW0F          |         TSKPSW4F          |
*     +---------------------------+---------------------------+
*  C8 |///////////////////////////////////////////////////////|
*     +-------------+-------------+---------------------------+
*  D0 |  TSKCPDSP   |  TSKCPOTR   |         TSKRNUSR          |
*     +------+------+-------------+---------------------------+
*  D8 |:FLAGS|////////////////////|         TSKCR0SV          |
*     +------+--------------------+---------------------------+
*  E0 |         TSKSPIEA          |         TSKSPIEM          |
*     +---------------------------+---------------------------+
*  E8 |                       TSKBEAR                         |
*     +---------------------------+---------------------------+
*  F0 |         TSKEXPIR          |         TSKSTERR          |
*     +---------------------------+---------------------------+
*  F8 |         TSKINVAD          |         TSKBLVOL          |
*     +------+--------------------+---------------------------+
* 100 |:EVENT|////////////////////|         TSKEVNTA          |
*     +------+--------------------+---------------------------+
* 108 |                       TSKTGTIA                        |
*     +---------------------------+-------------+------+------+
* 110 |///////////////////////////|  TSKPRGIL   |:PRGEE|:PRGIC|
*     +---------------------------+-------------+------+------+
* 118 |                       TSKGTGTA                        |
*     +-------------------------------------------------------+
* 120 |///////////////////////////////////////////////////////|
*     =///////////////////////////////////////////////////////=
*     |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
* 160
*
*** TSKBK - Task Control Block
          
*** Overlay for TSKGTGTA+4 in TSKBK
*
*                                 +---------------------------+
* 118 ...                     11C |         TSKTGTAD          |
*     +---------------------------+---------------------------+
* 120 |                                                       |
*     =                       TSKWORKA                        =
*     |                                                       |
*     +-------------------------------------------------------+
* 160
*
*** Overlay for TSKGTGTA+4 in TSKBK
          
*** Overlay for TSKGRS in TSKBK
*
*     +---------------------------+---------------------------+
*   0 |          TSKGR0           |          TSKGR1           |
*     +---------------------------+---------------------------+
*   8 |          TSKGR2           |          TSKGR3           |
*     +---------------------------+---------------------------+
*  10 |          TSKGR4           |          TSKGR5           |
*     +---------------------------+---------------------------+
*  18 |          TSKGR6           |          TSKGR7           |
*     +---------------------------+---------------------------+
*  20 |          TSKGR8           |          TSKGR9           |
*     +---------------------------+---------------------------+
*  28 |         TSKGR10           |         TSKGR11           |
*     +---------------------------+---------------------------+
*  30 |         TSKGR12           |         TSKGR13           |
*     +---------------------------+---------------------------+
*  38 |         TSKGR14           |         TSKGR15           |
*     +---------------------------+---------------------------+
*  40 |         TSKHGR0           |         TSKHGR1           |
*     +---------------------------+---------------------------+
*  48 |         TSKHGR2           |         TSKHGR3           |
*     +---------------------------+---------------------------+
*  50 |         TSKHGR4           |         TSKHGR5           |
*     +---------------------------+---------------------------+
*  58 |         TSKHGR6           |         TSKHGR7           |
*     +---------------------------+---------------------------+
*  60 |         TSKHGR8           |         TSKHGR9           |
*     +---------------------------+---------------------------+
*  68 |         TSKHGR10          |         TSKHGR11          |
*     +---------------------------+---------------------------+
*  70 |         TSKHGR12          |         TSKHGR13          |
*     +---------------------------+---------------------------+
*  78 |         TSKHGR14          |         TSKHGR15          |
*     +---------------------------+---------------------------+
*  80
*
*** Overlay for TSKGRS in TSKBK
          
*** Overlay for TSKGRS in TSKBK
*
*     +-------------------------------------------------------+
*   0 |                       TSKGGR0                         |
*     +-------------------------------------------------------+
*   8 |                       TSKGGR1                         |
*     +-------------------------------------------------------+
*  10 |                       TSKGGR2                         |
*     +-------------------------------------------------------+
*  18 |                       TSKGGR3                         |
*     +-------------------------------------------------------+
*  20 |                       TSKGGR4                         |
*     +-------------------------------------------------------+
*  28 |                       TSKGGR5                         |
*     +-------------------------------------------------------+
*  30 |                       TSKGGR6                         |
*     +-------------------------------------------------------+
*  38 |                       TSKGGR7                         |
*     +-------------------------------------------------------+
*  40 |                       TSKGGR8                         |
*     +-------------------------------------------------------+
*  48 |                       TSKGGR9                         |
*     +-------------------------------------------------------+
*  50 |                       TSKGGR10                        |
*     +-------------------------------------------------------+
*  58 |                       TSKGGR11                        |
*     +-------------------------------------------------------+
*  60 |                       TSKGGR12                        |
*     +-------------------------------------------------------+
*  68 |                       TSKGGR13                        |
*     +-------------------------------------------------------+
*  70 |                       TSKGGR14                        |
*     +-------------------------------------------------------+
*  78 |                       TSKGGR15                        |
*     +-------------------------------------------------------+
*  80
*
*** Overlay for TSKGRS in TSKBK
          
*** Overlay for TSKARS in TSKBK
*
*     +---------------------------+---------------------------+
*  80 |          TSKAR0           |          TSKAR1           |
*     +---------------------------+---------------------------+
*  88 |          TSKAR2           |          TSKAR3           |
*     +---------------------------+---------------------------+
*  90 |          TSKAR4           |          TSKAR5           |
*     +---------------------------+---------------------------+
*  98 |          TSKAR6           |          TSKAR7           |
*     +---------------------------+---------------------------+
*  A0 |          TSKAR8           |          TSKAR9           |
*     +---------------------------+---------------------------+
*  A8 |         TSKAR10           |         TSKAR11           |
*     +---------------------------+---------------------------+
*  B0 |         TSKAR12           |         TSKAR13           |
*     +---------------------------+---------------------------+
*  B8 |         TSKAR14           |         TSKAR15           |
*     +---------------------------+---------------------------+
*  C0
*
*** Overlay for TSKARS in TSKBK
 
 
  TSKBK Cross Reference Top of page
 
 
Symbol         Dspl Value
-------------- ---- -----
PRGIADCP       0117 00000136
PRGICHMD       0117 0000F97F
PRGIHMOD       0117 00000680
PRGITRXA       0117 00000200
PRGITXHA       0117 00000400
PRGITXMD       0117 00000600
TSKARS         0080
TSKAR0         0080
TSKAR1         0084
TSKAR10        00A8
TSKAR11        00AC
TSKAR12        00B0
TSKAR13        00B4
TSKAR14        00B8
TSKAR15        00BC
TSKAR2         0088
TSKAR3         008C
TSKAR4         0090
TSKAR5         0094
TSKAR6         0098
TSKAR7         009C
TSKAR8         00A0
TSKAR9         00A4
TSKBEAR        00E8
TSKBLVOL       00FC
TSKCPDSP       00D0
TSKCPOTR       00D2
TSKCR0SV       00DC
TSKEBVOL       0100 00000014
TSKEEXPI       0100 00000008
TSKEINVA       0100 0000000C
TSKEPROG       0100 00000004
TSKESTER       0100 00000010
TSKEVENT       0100
TSKEVNTA       0104
TSKEXPIR       00F0
TSKFLAGS       00D8
TSKGGRS        0000
TSKGGR0        0000
TSKGGR1        0008
TSKGGR10       0050
TSKGGR11       0058
TSKGGR12       0060
TSKGGR13       0068
TSKGGR14       0070
TSKGGR15       0078
TSKGGR2        0010
TSKGGR3        0018
TSKGGR4        0020
TSKGGR5        0028
TSKGGR6        0030
TSKGGR7        0038
TSKGGR8        0040
TSKGGR9        0048
TSKGRS         0000
TSKGR0         0000
TSKGR1         0004
TSKGR10        0028
TSKGR11        002C
TSKGR12        0030
TSKGR13        0034
TSKGR14        0038
TSKGR15        003C
TSKGR2         0008
TSKGR3         000C
TSKGR4         0010
TSKGR5         0014
TSKGR6         0018
TSKGR7         001C
TSKGR8         0020
TSKGR9         0024
TSKGTGTA       0118
TSKHGRS        0040
TSKHGR0        0040
TSKHGR1        0044
TSKHGR10       0068
TSKHGR11       006C
TSKHGR12       0070
TSKHGR13       0074
TSKHGR14       0078
TSKHGR15       007C
TSKHGR2        0048
TSKHGR3        004C
TSKHGR4        0050
TSKHGR5        0054
TSKHGR6        0058
TSKHGR7        005C
TSKHGR8        0060
TSKHGR9        0064
TSKINVAD       00F8
TSKLEN         00BC 00000160
TSKLONGR       00D8 80
TSKPRGCF       0114
TSKPRGEE       0116
TSKPRGIC       0117
TSKPRGIL       0114
TSKPRGIN       0116
TSKPSW         00C0
TSKPSW0F       00C0
TSKPSW4F       00C4
TSKRNUSR       00D4
TSKSACLR       00D8 20
TSKSAV         00D8
TSKSIZE        00BC 0000002C
TSKSPIEA       00E0
TSKSPIEM       00E4
TSKSPILR       00D8 40
TSKSTERR       00F4
TSKTGTAD       011C
TSKTGTIA       0108
TSKWORKA       0120
 
This information is based on z/VM 7.3.0 Last updated on 22 Jun 2022 at 15:57:20 EDT.
Copyright IBM Corporation, 1990, 2022