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.

TSD

Prolog  

Control Block Contents  

TSD DSECT

Storage Layout  

Cross Reference (Contains links to field and bit definitions)  

TSD Prolog

NAME : STRUCPRA DSECT : TSD STATUS : VM/ESA Version 1, Release 2.0 DESCRIPTION: TSD -- header plus Process Management stuff

 

TSD Control Block Content


TSD DSECT

Hex Dec Type/Val Lng Label (dup) Comments ---- ---- --------- ---- -------------- -------- 0000 0 Structure TSD TSD -- header plus Process Management stuff 0000 0 Dbl-Word 8 * (0) 0000 0 Address 4 TSD_ABN_ANCH Abend extension pointer 0004 4 Signed 4 TSD_ABN_LEN Abend extension length 0008 8 Address 4 TSD_ACT_ANCH Accounting extension pointer 000C 12 Signed 4 TSD_ACT_LEN Accounting extension length 0010 16 Address 4 TSD_CPU_ANCH CPU extension pointer 0014 20 Signed 4 TSD_CPU_LEN CPU extension length 0018 24 Address 4 TSD_EVN_ANCH Event extension pointer 001C 28 Signed 4 TSD_EVN_LEN Event extension length 0020 32 Address 4 TSD_IPC_ANCH IPC extension pointer 0024 36 Signed 4 TSD_IPC_LEN IPC extension length 0028 40 Address 4 TSD_SYN_ANCH Synchronization extension pointer 002C 44 Signed 4 TSD_SYN_LEN Synchronization extension length 0030 48 Address 4 TSD_TRC_ANCH Trace extension pointer 0034 52 Signed 4 TSD_TRC_LEN Trace extension length 0038 56 Address 4 TSD_TMR_ANCH Timer extension pointer 003C 60 Signed 4 TSD_TMR_LEN Timer extension length 0040 64 Address 4 TSD_ENV_ANCH Environment extension pointer 0044 68 Signed 4 TSD_ENV_LEN Environment extension length 0048 72 Address 4 TSD_CPIC_ANCH CPI Communications extension pointer 004C 76 Signed 4 TSD_CPIC_LEN CPI Communications extension length 0050 80 Address 4 TSD_POS_ANCH Posix extension pointer 0054 84 Signed 4 TSD_POS_LEN Posix extension length 0058 88 Address 4 TSD_TSDX_ANCH tsd extension pointer 005C 92 Signed 4 TSD_TSDX_LEN tsd extension length 0060 96 Address 4 TSD_T12_ANCH Unused extension pointer 0064 100 Signed 4 TSD_T12_LEN Unused extension length 0068 104 Signed 4 TSD_DSCOUNT deferred suspend count 006C 108 Address 4 TSD_SHARED_SUBPOOL shared subpool pointer 0070 112 Signed 4 TSD_NEXT_WAIT next lock waiter 0074 116 Signed 4 TSD_BASE_COUNT Base only count 0078 120 Address 4 TSD_STATSAVE Static savearea pointer 007C 124 Address 4 TSD_SUBCOM13 Subcom return r13 process management stuff 0080 128 Address 4 TSD_PRCNEXT Next PSD 0084 132 Address 4 TSD_PRCPREV Previous PSD 0088 136 Address 4 TSD_RLNEXT Next TSD on run list 008C 140 Address 4 TSD_RLPREV Prev TSD on run list 0090 144 Address 4 TSD_DCNEXT Next DCD 0094 148 Address 4 TSD_DCPREV Prev DCD 0098 152 Address 4 TSD_OWNPRC Owning PSD 009C 156 Address 4 TSD_DCDPTR Ptr. to TSD's DCD 00A0 160 Signed 4 TSD_THDID Thread ID 00A4 164 Signed 4 TSD_PRIO Overall priority 00A4 164 Signed 2 TSD_PPRIO Process priority 00A6 166 Signed 2 TSD_TPRIO Thread priority 00A8 168 Address 4 TSD_ENTRYPOINT entry point 00AC 172 Address 4 TSD_PLISTPTR Ptr. to parameter list 00B0 176 Signed 4 TSD_PLISTSIZE Size of parameter list 00B4 180 Signed 4 TSD_BLOCKED Blocked or not 00B8 184 Signed 4 TSD_SUSPCT Suspend count 00BC 188 Address 4 TSD_GPR13 Current R13 00C0 192 Character 32 TSD_FPS Floating Pt. regs 00E0 224 Character 64 TSD_ARS Access regs 0120 288 Address 4 TSD_LOCKCNT count of locks held by this tsd 0124 292 Signed 4 TSD_UNBLCNT unblock count 0128 296 Signed 4 TSD_STAPBUF STAP buffer 0128 296 Signed 2 TSD_STAP STAP address 012A 298 Signed 2 TSD_CPU cpu to run on 012C 300 Address 4 TSD_DELTSD TSD deleting me 0130 304 Address 4 TSD_KSP Kernel stack ptr. 0134 308 Signed 4 TSD_FLAGS (0) Flags 0134 308 Bitstring 1 TSD_FLAG0 1... .... TSD_TERM X'80' Thread termination .1.. .... TSD_INTH X'40' Interrupt Handler ..1. .... TSD_NOSW X'20' avoided switch ...1 .... TSD_SELFSCHED X'10' schedule self .... 1... TSD_ROOTENV X'08' root environment .... .1.. TSD_NODEL X'04' root environment .... ..1. TSD_TRACE X'02' signalling trace .... ...1 TSD_TMPTRACE X'01' avoid trace 0135 309 Bitstring 1 TSD_FLAG1 1... .... TSD_WAIT X'80' wait thread .1.. .... TSD_LOOP X'40' loop thread ..1. .... TSD_FDEL X'20' forced deletion ...1 .... TSD_INHERITSUB X'10' thread inherited subcoms .... 1... TSD_DONEDEL X'08' thread deletion done .... .1.. TSD_CTA X'04' doing create thread anywhere .... ..1. TSD_PSUBCOM X'02' thread has private subcoms .... ...1 TSD_A24 X'01' start in amode 24 0136 310 Bitstring 1 TSD_FLAG2 1... .... TSD_NOEXITS X'80' avoid running abend exits .1.. .... TSD_CPICSW X'40' CPI-C wants to switch ..1. .... TSD_MOVE X'20' tsd moving to base ...1 .... TSD_AVOIDSW X'10' don't let unblock switch .... 1... TSD_PLCOPY X'08' copy plist? .... .1.. TSD_CRBELOW X'04' create thread below 16M line .... ..1. TSD_NOCLEANUP X'02' less thd deletion cleanup needed .... ...1 TSD_NEEDSW X'01' have unblocked, need a switch 0137 311 Bitstring 1 TSD_FLAG3 1... .... TSD_ABNTRAP X'80' abend trap thread .1.. .... TSD_ISETRC X'40' RC set during thread processing ..1. .... TSD_KAT X'20' kernel agent thread ...1 .... TSD_KACTIVE X'10' thread in kernel 0138 312 Signed 4 TSD_UWORD User data word 013C 316 Character 0 TSD_KRAB Thread's KRAB 0148 328 Signed 4 TSD_LANGANCH Language environment anchor 014C 332 Signed 4 TSD_TRAPTHREAD is it an event trap 0150 336 Signed 4 TSD_NOPRCNT preempt count 0154 340 Character 8 TSD_SWPSW (0) base switch psw 0154 340 Bitstring 4 * top half of psw 0158 344 Bitstring 4 TSD_SWADDR psw address 015C 348 Character 8 TSD_CPUTIME CPU time used 0164 356 Signed 4 TSD_SW14 base switch r14 0168 360 Signed 4 TSD_SW15 base switch r15 016C 364 Address 4 TSD_TPSUB list of thread private subcoms 0170 368 Address 4 TSD_RETURN return address 0174 372 Address 4 TSD_CURRSAVE svc savearea 0178 376 Address 4 TSD_SVCSECT its work area 017C 380 Signed 4 TSD_KEY key to start alignment to dword boundary 0180 384 Dbl-Word 8 * 00000188 TSD_SIZE *-TSD PSD -- header plus process management stuff. Each extension is found in STRUCxxx COPY.

 

TSD Storage Layout

*** TSD - TSD -- header plus Process Management stuff
*
*     +---------------------------+---------------------------+
*   0 |       TSD_ABN_ANCH        |       TSD_ABN_LEN         |
*     +---------------------------+---------------------------+
*   8 |       TSD_ACT_ANCH        |       TSD_ACT_LEN         |
*     +---------------------------+---------------------------+
*  10 |       TSD_CPU_ANCH        |       TSD_CPU_LEN         |
*     +---------------------------+---------------------------+
*  18 |       TSD_EVN_ANCH        |       TSD_EVN_LEN         |
*     +---------------------------+---------------------------+
*  20 |       TSD_IPC_ANCH        |       TSD_IPC_LEN         |
*     +---------------------------+---------------------------+
*  28 |       TSD_SYN_ANCH        |       TSD_SYN_LEN         |
*     +---------------------------+---------------------------+
*  30 |       TSD_TRC_ANCH        |       TSD_TRC_LEN         |
*     +---------------------------+---------------------------+
*  38 |       TSD_TMR_ANCH        |       TSD_TMR_LEN         |
*     +---------------------------+---------------------------+
*  40 |       TSD_ENV_ANCH        |       TSD_ENV_LEN         |
*     +---------------------------+---------------------------+
*  48 |      TSD_CPIC_ANCH        |       TSD_CPIC_LEN        |
*     +---------------------------+---------------------------+
*  50 |       TSD_POS_ANCH        |       TSD_POS_LEN         |
*     +---------------------------+---------------------------+
*  58 |      TSD_TSDX_ANCH        |       TSD_TSDX_LEN        |
*     +---------------------------+---------------------------+
*  60 |       TSD_T12_ANCH        |       TSD_T12_LEN         |
*     +---------------------------+---------------------------+
*  68 |       TSD_DSCOUNT         |    TSD_SHARED_SUBPOOL     |
*     +---------------------------+---------------------------+
*  70 |      TSD_NEXT_WAIT        |      TSD_BASE_COUNT       |
*     +---------------------------+---------------------------+
*  78 |       TSD_STATSAVE        |       TSD_SUBCOM13        |
*     +---------------------------+---------------------------+
*  80 |       TSD_PRCNEXT         |       TSD_PRCPREV         |
*     +---------------------------+---------------------------+
*  88 |        TSD_RLNEXT         |        TSD_RLPREV         |
*     +---------------------------+---------------------------+
*  90 |        TSD_DCNEXT         |        TSD_DCPREV         |
*     +---------------------------+---------------------------+
*  98 |        TSD_OWNPRC         |        TSD_DCDPTR         |
*     +---------------------------+---------------------------+
*  A0 |        TSD_THDID          |         TSD_PRIO          |
*     +---------------------------+---------------------------+
*  A8
*
*** TSD - TSD -- header plus Process Management stuff
*** Overlay for TSD_PRIO in TSD
*
*                                 +-------------+-------------+
*  A0 ...                      A4 | TSD_PPRIO   | TSD_TPRIO   |
*     +---------------------------+-------------+-------------+
*  A8 |      TSD_ENTRYPOINT       |       TSD_PLISTPTR        |
*     +---------------------------+---------------------------+
*  B0 |      TSD_PLISTSIZE        |       TSD_BLOCKED         |
*     +---------------------------+---------------------------+
*  B8 |        TSD_SUSPCT         |        TSD_GPR13          |
*     +---------------------------+---------------------------+
*  C0 |                                                       |
*     =                       TSD_FPS                         =
*     |                                                       |
*     +-------------------------------------------------------+
*  E0 |                                                       |
*     =                       TSD_ARS                         =
*     |                                                       |
*     +---------------------------+---------------------------+
* 120 |       TSD_LOCKCNT         |       TSD_UNBLCNT         |
*     +---------------------------+---------------------------+
* 128 |       TSD_STAPBUF         | 12C
*     +---------------------------+
*
*** Overlay for TSD_PRIO in TSD
*** Overlay for TSD_STAPBUF in TSD
*
*     +-------------+-------------+---------------------------+
* 128 |  TSD_STAP   |  TSD_CPU    |        TSD_DELTSD         |
*     +-------------+-------------+------+------+------+------+
* 130 |         TSD_KSP           |(134) |(135) |(136) |(137) |
*     +---------------------------+------+------+------+------+
* 138 |        TSD_UWORD          |         TSD_KRAB          |
*     +---------------------------+                           |
*     |                                                       |
*     +---------------------------+---------------------------+
* 148 |       TSD_LANGANCH        |      TSD_TRAPTHREAD       |
*     +---------------------------+---------------------------+
* 150 |       TSD_NOPRCNT         |///////////////////////////|
*     +---------------------------+---------------------------+
* 158 |        TSD_SWADDR         |       TSD_CPUTIME-        |
*     +---------------------------+---------------------------+
* 160 |          -(15C)           |         TSD_SW14          |
*     +---------------------------+---------------------------+
* 168 |         TSD_SW15          |        TSD_TPSUB          |
*     +---------------------------+---------------------------+
* 170 |        TSD_RETURN         |       TSD_CURRSAVE        |
*     +---------------------------+---------------------------+
* 178 |       TSD_SVCSECT         |         TSD_KEY           |
*     +---------------------------+---------------------------+
* 180 |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
* 188
*
*** Overlay for TSD_STAPBUF in TSD

 

TSD Cross Reference

(contains links to field and bit definitions)
Symbol         Dspl Value
-------------- ---- -----

TSD_ABN_ANCH 0000

TSD_ABN_LEN 0004

TSD_ABNTRAP 0137 80

TSD_ACT_ANCH 0008

TSD_ACT_LEN 000C

TSD_ARS 00E0

TSD_AVOIDSW 0136 10

TSD_A24 0135 01

TSD_BASE_COUNT 0074

TSD_BLOCKED 00B4

TSD_CPIC_ANCH 0048

TSD_CPIC_LEN 004C

TSD_CPICSW 0136 40

TSD_CPU 012A

TSD_CPU_ANCH 0010

TSD_CPU_LEN 0014

TSD_CPUTIME 015C

TSD_CRBELOW 0136 04

TSD_CTA 0135 04

TSD_CURRSAVE 0174

TSD_DCDPTR 009C

TSD_DCNEXT 0090

TSD_DCPREV 0094

TSD_DELTSD 012C

TSD_DONEDEL 0135 08

TSD_DSCOUNT 0068

TSD_ENTRYPOINT 00A8

TSD_ENV_ANCH 0040

TSD_ENV_LEN 0044

TSD_EVN_ANCH 0018

TSD_EVN_LEN 001C

TSD_FDEL 0135 20

TSD_FLAGS 0134

TSD_FLAG0 0134

TSD_FLAG1 0135

TSD_FLAG2 0136

TSD_FLAG3 0137

TSD_FPS 00C0

TSD_GPR13 00BC

TSD_INHERITSUB 0135 10

TSD_INTH 0134 40

TSD_IPC_ANCH 0020

TSD_IPC_LEN 0024

TSD_ISETRC 0137 40

TSD_KACTIVE 0137 10

TSD_KAT 0137 20

TSD_KEY 017C

TSD_KRAB 013C

TSD_KSP 0130

TSD_LANGANCH 0148

TSD_LOCKCNT 0120

TSD_LOOP 0135 40

TSD_MOVE 0136 20

TSD_NEEDSW 0136 01

TSD_NEXT_WAIT 0070

TSD_NOCLEANUP 0136 02

TSD_NODEL 0134 04

TSD_NOEXITS 0136 80

TSD_NOPRCNT 0150

TSD_NOSW 0134 20

TSD_OWNPRC 0098

TSD_PLCOPY 0136 08

TSD_PLISTPTR 00AC

TSD_PLISTSIZE 00B0

TSD_POS_ANCH 0050

TSD_POS_LEN 0054

TSD_PPRIO 00A4

TSD_PRCNEXT 0080

TSD_PRCPREV 0084

TSD_PRIO 00A4

TSD_PSUBCOM 0135 02

TSD_RETURN 0170

TSD_RLNEXT 0088

TSD_RLPREV 008C

TSD_ROOTENV 0134 08

TSD_SELFSCHED 0134 10

TSD_SHARED_SUBPOOL 006C

TSD_SIZE 0180 00000188

TSD_STAP 0128

TSD_STAPBUF 0128

TSD_STATSAVE 0078

TSD_SUBCOM13 007C

TSD_SUSPCT 00B8

TSD_SVCSECT 0178

TSD_SWADDR 0158

TSD_SWPSW 0154

TSD_SW14 0164

TSD_SW15 0168

TSD_SYN_ANCH 0028

TSD_SYN_LEN 002C

TSD_TERM 0134 80

TSD_THDID 00A0

TSD_TMPTRACE 0134 01

TSD_TMR_ANCH 0038

TSD_TMR_LEN 003C

TSD_TPRIO 00A6

TSD_TPSUB 016C

TSD_TRACE 0134 02

TSD_TRAPTHREAD 014C

TSD_TRC_ANCH 0030

TSD_TRC_LEN 0034

TSD_TSDX_ANCH 0058

TSD_TSDX_LEN 005C

TSD_T12_ANCH 0060

TSD_T12_LEN 0064

TSD_UNBLCNT 0124

TSD_UWORD 0138

TSD_WAIT 0135 80


This information is based on VM/ESA 2.4.0.
Last updated on 19 Aug 1999 at 15:29:55 EDT.
Copyright IBM Corporation, 1990, 1999