|
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 8 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
00000000 *
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)
00000000 *
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 -------------- ---- ----- * 0100 00000000 * 0117 00000000 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
Last updated on 6 Jun 2001 at 12:38:05 EDT.
Copyright IBM Corporation, 1990, 2001