|
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