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. |
TSKBK
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 or segment 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 (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 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 .... .... TSKCR0M X'11000000' Bits in host CR0 to preserve for the suspended task. When a task is resumed, these bits will be restored to the values they had at suspension time. .... .... TSKCR0NM X'10000000' Normal state of the bits in CR0 masked by TSKCR0M. When preserving a task, those bits will be changed to these values 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 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) 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
(contains links to field and bit definitions)Symbol Dspl Value -------------- ---- -----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
TSKCR0M 0091 00
TSKCR0NM 0091 00
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 3 Aug 1999 at 13:41:17 EDT.
Copyright IBM Corporation, 1990, 1999