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 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 .. 0080 128 Bitstring 64 TSKARS (0) Access registers 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 .. 00C0 192 Dbl-Word 8 TSKPSW (0) PSW of suspended task 00C0 192 Signed 4 TSKPSW0F 00C4 196 Signed 4 TSKPSW4F Addr mode and instruction addr 00C8 200 Signed 4 * (2) Rest of large PSW 00C0 192 Bitstring 16 TSKGPSW (0) Large PSW of suspended task 00C0 192 Signed 4 TSKGPSW0 Flags 00C4 196 Signed 4 TSKGPSW4 Flags 00C8 200 Signed 4 TSKGPSW8 High-order instruction address 00CC 204 Signed 4 TSKGPSWC Low-order instruction address 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. When this count is non-zero, the purge-request timestamp of the dispatched user must be examined when resuming a suspended task. 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. 00D8 216 Bitstring 1 TSKFLAGS Flags describing state of task 1... .... TSKLONGR X'80' 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. (ESAME build of CP only) .1.. .... TSKSPILR X'40' An HCPSPIE trap is active and the task is LongReg, save and restore 64 bit registers when suspending and driving exits (use TSKGGRS) (ESAME build of CP only) ..1. .... TSKSACLR X'20' An HCPSAC trap is active and the task is LongReg, save and restore 64 bit registers when suspending and driving exits (use TSKGGRS) (ESAME build of CP only) 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 * reserved for IBM use 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 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). 0100 256 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 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, -INVA, and -STER) 0110 272 Signed 4 TSKTGTAD Host virtual address of target page (for event types TSKESTER and -INVA) 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) 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) 0118 280 Dbl-Word 8 TSKGTGTA Host 64-bit virtual address of target page (for event types TSKEXTER 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 00000160 TSKLEN *-TSKBK Length in bytes of a TSKBK 0000002C 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 | TSKHGR0 | TSKHGR1 | * +---------------------------+---------------------------+ * 48 | TSKHGR2 | TSKHGR3 | * +---------------------------+---------------------------+ * 50 | TSKHGR4 | TSKHGR5 | * +---------------------------+---------------------------+ * 58 | TSKHGR6 | TSKHGR7 | * +---------------------------+---------------------------+ * 60 | TSKHGR8 | TSKHGR9 | * +---------------------------+---------------------------+ * 68 | TSKHGR10 | TSKHGR11 | * +---------------------------+---------------------------+ * 70 | TSKHGR12 | TSKHGR13 | * +---------------------------+---------------------------+ * 78 | TSKHGR14 | TSKHGR15 | * +---------------------------+---------------------------+ * 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 | TSKPSW0F | TSKPSW4F | * +---------------------------+---------------------------+ * C8 |///////////////////////////////////////////////////////| * +-------------+-------------+---------------------------+ * D0 | TSKCPDSP | TSKCPOTR | TSKRNUSR | * +------+------+-------------+---------------------------+ * D8 |:FLAGS|////////////////////| TSKCR0SV | * +------+--------------------+---------------------------+ * E0 | TSKSPIEA | TSKSPIEM | * +---------------------------+---------------------------+ * E8 |///////////////////////////////////////////////////////| * +---------------------------+---------------------------+ * F0 | TSKEXPIR | TSKSTERR | * +---------------------------+---------------------------+ * F8 | TSKINVAD |///////////////////////////| * +------+--------------------+---------------------------+ * 100 |:EVENT|////////////////////| TSKEVNTA | * +------+--------------------+---------------------------+ * 108 | TSKTGTIA | * +---------------------------+-------------+------+------+ * 110 | TSKTGTAD | TSKPRGIL |:PRGEE|:PRGIC| * +---------------------------+-------------+------+------+ * 118 | TSKGTGTA | * +-------------------------------------------------------+ * 120 | | * = TSKWORKA = * | | * +-------------------------------------------------------+ * 160 * *** TSKBK - Task Control Block *** 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 TSKPSW in TSKBK * * +---------------------------+---------------------------+ * C0 | TSKGPSW0 | TSKGPSW4 | * +---------------------------+---------------------------+ * C8 | TSKGPSW8 | TSKGPSWC | * +---------------------------+---------------------------+ * D0 * *** Overlay for TSKPSW in TSKBK
TSKBK Cross Reference
Symbol Dspl Value -------------- ---- ----- PRGIADCP 0117 00000136 PRGIARPC 0117 00008000 PRGICROP 0117 00000119 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 TSKCPDSP 00D0 TSKCPOTR 00D2 TSKCR0SV 00DC 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 TSKGPSW 00C0 TSKGPSWC 00CC TSKGPSW0 00C0 TSKGPSW4 00C4 TSKGPSW8 00C8 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 0120 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 TSKSIZE 0120 0000002C TSKSPIEA 00E0 TSKSPIEM 00E4 TSKSPILR 00D8 40 TSKSTERR 00F4 TSKTGTAD 0110 TSKTGTIA 0108 TSKWORKA 0120
Copyright IBM Corporation, 1990, 2001