| Programming Interface Information:
This information is NOT intended to be used as Programming Interfaces of z/VM. | 
TSKBK
Control Block Contents  
   TSKBK DSECT
Cross Reference (Contains links to field and bit definitions)
TSKBK Prolog
 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.
TSKBK Control Block Content
TSKBK DSECT
Hex   Dec Type/Val   Lng Label (dup)    Comments
---- ---- --------- ---- -------------- --------
0000    0 Structure      TSKBK          Task Control Block
     State of suspended task
     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 Bitstring   64 TSKGRS (0)     General registers
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 TSKARS (0)     Access registers
0040   64 Signed       4 TSKAR0         ..
0044   68 Signed       4 TSKAR1         ..
0048   72 Signed       4 TSKAR2         ..
004C   76 Signed       4 TSKAR3         ..
0050   80 Signed       4 TSKAR4         ..
0054   84 Signed       4 TSKAR5         ..
0058   88 Signed       4 TSKAR6         ..
005C   92 Signed       4 TSKAR7         ..
0060   96 Signed       4 TSKAR8         ..
0064  100 Signed       4 TSKAR9         ..
0068  104 Signed       4 TSKAR10        ..
006C  108 Signed       4 TSKAR11        ..
0070  112 Signed       4 TSKAR12        ..
0074  116 Signed       4 TSKAR13        ..
0078  120 Signed       4 TSKAR14        ..
007C  124 Signed       4 TSKAR15        ..
0080  128 Dbl-Word     8 TSKPSW (0)     PSW of suspended task
0080  128 Signed       4 TSKPSW0F
0084  132 Signed       4 TSKPSW4F       Addr mode and instruction addr
     Resource ownership and related conditions
0088  136 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. When this
                                        count is non-zero, the
                                        purge-request timestamp of the
                                        dispatched user must be examined
                                        when resuming a suspended task.
008A  138 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.
008C  140 Address      4 TSKRNUSR       Address of VMDBK of user that was
                                        dispatched when the task was
                                        suspended.
0090  144 Bitstring    1 TSKFLAGS       Flags describing state of task
0091  145 Bitstring    1 * (3)          Reserved for IBM use
0094  148 Signed       4 TSKCR0SV       Preserved bits from host CR0
     HCPSPIE trap settings
0098  152 Address      4 TSKSPIEA       Program-interruption exit address
009C  156 Bitstring    4 TSKSPIEM       Program-interruption exit mask
00A0  160 Dbl-Word     8 *              reserved for IBM use
     HCPSAC error exit routines
00A8  168 Address      4 TSKEXPIR       Expired-internal-ASIT exit
00AC  172 Address      4 TSKSTERR       Virtual-storage-error exit
00B0  176 Address      4 TSKINVAD       Invalid-virtual-address exit
00B4  180 Signed       4 *              reserved for IBM use
     Error event data: Details of a particular error condition, to be passed
     to an error exit routine (defined by HCPSPIE or HCPSAC).
00B8  184 Bitstring    1 TSKEVENT       Type of event
          00000004       TSKEPROG       4 Program check in CP
          00000008       TSKEEXPI       8 AR-mode ref to space via CP-use
                                        ALE with expired i-ASIT
          0000000C       TSKEINVA       12 AR-mode ref to invalid address
                                        (not within space)
          00000010       TSKESTER       16 Paging or storage error on
                                        AR-mode reference
          00000000       *
00B9  185 Bitstring    3 *              reserved for IBM use
00BC  188 Address      4 TSKEVNTA       Address of failing instruction
00C0  192 Dbl-Word     8 TSKTGTIA       Target i-ASIT (for event types
                                        TSKEEXPI, -INVA, and -STER)
00C8  200 Signed       4 TSKTGTAD       Host virtual address of target
                                        page (for event types TSKESTER
                                        and -INVA)
00CC  204 Signed       4 TSKPRGCF (0)   Program Interruption Code fields
                                        (for event type TSKEPROG)
00CC  204 Signed       2 TSKPRGIL       Program Interruption Instruction
                                        Length Code
00CE  206 Signed       2 TSKPRGIN (0)   Program Interruption Code
                                        (halfwd)
00CE  206 Bitstring    1 TSKPRGEE       Exception extension code
00CF  207 Bitstring    1 TSKPRGIC       Program Interruption Code (low
                                        byte)
          00000119       PRGICROP       X'0119' Crypto Operation
                                        Exception
          00000136       PRGIADCP       X'0136' Addressing capability
          00008000       PRGIARPC       X'8000' ARITHMETIC PARTIAL
                                        COMPLETION BIT OF THE EXCEPTION
                                        EXTENSION CODE (BIT 0 OF THE
                                        PROGRAM CHECK INTERRUPT CODE)
          00000000       *
00D0  208 Dbl-Word     8 *              reserved for IBM use
     Scratch area for suspended tasks: This area may be used by the routine
     which requests formal suspension of the task, to preserve task status.
00D8  216 Bitstring   64 TSKWORKA       Work area
          00000118       TSKLEN         *-TSKBK Length in bytes of a
                                        TSKBK
          00000023       TSKSIZE        (TSKLEN+7)/8 Size in doublewords
                                        of a TSKBK
TSKBK Storage Layout
          
*** TSKBK - Task Control Block
*
*     +---------------------------+---------------------------+
*   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 |          TSKAR0           |          TSKAR1           |
*     +---------------------------+---------------------------+
*  48 |          TSKAR2           |          TSKAR3           |
*     +---------------------------+---------------------------+
*  50 |          TSKAR4           |          TSKAR5           |
*     +---------------------------+---------------------------+
*  58 |          TSKAR6           |          TSKAR7           |
*     +---------------------------+---------------------------+
*  60 |          TSKAR8           |          TSKAR9           |
*     +---------------------------+---------------------------+
*  68 |         TSKAR10           |         TSKAR11           |
*     +---------------------------+---------------------------+
*  70 |         TSKAR12           |         TSKAR13           |
*     +---------------------------+---------------------------+
*  78 |         TSKAR14           |         TSKAR15           |
*     +---------------------------+---------------------------+
*  80 |         TSKPSW0F          |         TSKPSW4F          |
*     +-------------+-------------+---------------------------+
*  88 |  TSKCPDSP   |  TSKCPOTR   |         TSKRNUSR          |
*     +------+------+-------------+---------------------------+
*  90 |:FLAGS|////////////////////|         TSKCR0SV          |
*     +------+--------------------+---------------------------+
*  98 |         TSKSPIEA          |         TSKSPIEM          |
*     +---------------------------+---------------------------+
*  A0 |///////////////////////////////////////////////////////|
*     +---------------------------+---------------------------+
*  A8 |         TSKEXPIR          |         TSKSTERR          |
*     +---------------------------+---------------------------+
*  B0 |         TSKINVAD          |///////////////////////////|
*     +------+--------------------+---------------------------+
*  B8 |:EVENT|////////////////////|         TSKEVNTA          |
*     +------+--------------------+---------------------------+
*  C0 |                       TSKTGTIA                        |
*     +---------------------------+-------------+------+------+
*  C8 |         TSKTGTAD          |  TSKPRGIL   |:PRGEE|:PRGIC|
*     +---------------------------+-------------+------+------+
*  D0 |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
*  D8 |                                                       |
*     =                       TSKWORKA                        =
*     |                                                       |
*     +-------------------------------------------------------+
* 118
*
*** TSKBK - Task Control Block
TSKBK Cross Reference
Symbol Dspl Value -------------- ---- ----- * 00B8 00000000 * 00CF 00000000 PRGIADCP 00CF 00000136 PRGIARPC 00CF 00008000 PRGICROP 00CF 00000119 TSKARS 0040 TSKAR0 0040 TSKAR1 0044 TSKAR10 0068 TSKAR11 006C TSKAR12 0070 TSKAR13 0074 TSKAR14 0078 TSKAR15 007C TSKAR2 0048 TSKAR3 004C TSKAR4 0050 TSKAR5 0054 TSKAR6 0058 TSKAR7 005C TSKAR8 0060 TSKAR9 0064 TSKCPDSP 0088 TSKCPOTR 008A TSKCR0SV 0094 TSKEEXPI 00B8 00000008 TSKEINVA 00B8 0000000C TSKEPROG 00B8 00000004 TSKESTER 00B8 00000010 TSKEVENT 00B8 TSKEVNTA 00BC TSKEXPIR 00A8 TSKFLAGS 0090 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 TSKINVAD 00B0 TSKLEN 00D8 00000118 TSKPRGCF 00CC TSKPRGEE 00CE TSKPRGIC 00CF TSKPRGIL 00CC TSKPRGIN 00CE TSKPSW 0080 TSKPSW0F 0080 TSKPSW4F 0084 TSKRNUSR 008C TSKSIZE 00D8 00000023 TSKSPIEA 0098 TSKSPIEM 009C TSKSTERR 00AC TSKTGTAD 00C8 TSKTGTIA 00C0 TSKWORKA 00D8
Last updated on 5 Jun 2001 at 17:04:53 EDT.
Copyright IBM Corporation, 1990, 2001