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. |
CTCBK
Cross Reference (Contains links to field and bit definitions)
CTCBK Prolog
NAME : HCPCTCBK DESCRIPTION: ISFC Link Extension for CTCA devices DSECT : CTCBK FUNCTION : This DSECT maps information for an ISFC link using a Channel to Channel Adapter. LOCATED BY : LNKEXTBK points to the CTCBK for this link. LDVEXTBK points to the CTCBK for this link. CREATED BY : HCPDCD when a new link is activated. DELETED BY : HCPDCD when a link is deactivated. SERIALIZED : The ISFC Global Lock (HCPBDSGL). The ISFC LNKBK lock (LNKLKWRD). COMMENTS : None
CTCBK Control Block Content
CTCBK DSECT
Hex Dec Type/Val Lng Label (dup) Comments ---- ---- --------- ---- -------------- -------- 0000 0 Structure CTCBK ISFC Link Extension for CTCA devices CTC Link Header. 0000 0 Bitstring 8 CTCLNKHD (0) Dummy link header 0000 0 Character 2 CTCRELID Current release identifier 0002 2 Signed 2 CTCBUFCT Buffer allocation count 0004 4 Signed 2 CTCWRCNT Active Write buffer count 0006 6 Bitstring 1 CTCCAPS Channel driver capabilities 0007 7 Bitstring 1 * Reserved ISFC Objects (Link, DataQueue, and Device). 0008 8 Address 4 CTCLNKBK Address of ISFC link block 000C 12 Address 4 CTCQUEBK Address of ISFC Data QUEBK 0010 16 Address 4 CTCLDVBK Address of ISFC device extension 0014 20 Address 4 CTCACOLS Address of Accounting Fields Link Status. 0018 24 Signed 4 CTCDEVNO Real device address 001C 28 Character 4 CTCDEVID Printable device address 0020 32 Bitstring 1 CTCSTAT Link Status 00000001 LNKIDLE 1 - Idle 00000002 LNKBUSY 2 - Busy 00000003 LNKWRITE 3 - Write in progress 00000004 LNKREAD 4 - Read in progress 00000005 LNKRESET 5 - Reset in progress 00000006 LNKATTN 6 - Handling link attention 00000007 LNKFATAL 7 - Fatal I/O on link 00000008 LNKINIT 8 - Initialization in progress 00000008 LNKDEACT 8 - Deactivation in progress 0021 33 Bitstring 1 CTCFLAG Link Flags 1... .... CTCDLPRG X'80' - Delete in progress .1.. .... CTCWSPRG X'40' - Write Sequence in progress Notes : CTCPCAPS is cleared during a line driver RESET. 0022 34 Bitstring 1 CTCPCAPS Partner's link capabilities 1... .... CTCWEOF X'80' - Write End Of File supported 0023 35 Bitstring 1 * Reserved 0024 36 Signed 4 CTCMSNUM Most recent msg number 0028 40 Signed 4 CTCWSQCT Write Sequence count 002C 44 Bitstring 4 * Reserved CTCMDEHD and CTCMDETL are used to maintain a list of messages (MDEBKs) for this link that have not yet been verified. An MDEBK in this list may represent frames in various stages of completion (none started, some written, some completed). 0030 48 Address 4 CTCMDEHD Top of Pending Message queue 0034 52 Address 4 CTCMDETL End of Pending Message queue Key addresses in the channel programs and page tables. 0038 56 Address 4 CTCWRBGN Address of first Write CCW 003C 60 Address 4 CTCWREND Address of last Write CCW 0040 64 Address 4 CTCRDBGN Address of first Read CCW 0044 68 Address 4 CTCRDEND Address of last Read CCW 0048 72 Address 4 CTCPGRDR Address of first Read PGEBK ptr 004C 76 Address 4 CTCPGWRT Address of first Write PGEBK ptr 0050 80 Address 4 CTCWRPTR Address of current Write ptr 0054 84 Address 4 CTCRDPTR Address of current Read ptr 0058 88 Signed 2 CTCRDCNT Active Read buffer count 005A 90 Bitstring 6 * reserved Device status. 0060 96 Bitstring 1 CTCXSTAT Latest operation attempted 00000001 LNKIDLE 1 - Idle 00000002 LNKBUSY 2 - Busy 00000003 LNKWRITE 3 - Write in progress 00000004 LNKREAD 4 - Read in progress 00000005 LNKRESET 5 - Reset in progress 00000006 LNKATTN 6 - Handling link attention 00000007 LNKFATAL 7 - Fatal I/O on link 00000008 LNKINIT 8 - Initialization in progress 00000008 LNKDEACT 8 - Deactivation in progress 0061 97 Bitstring 1 CTCXNEXT Next operation to be started 00000001 LNKIDLE 1 - Idle 00000002 LNKBUSY 2 - Busy 00000003 LNKWRITE 3 - Write in progress 00000004 LNKREAD 4 - Read in progress 00000005 LNKRESET 5 - Reset in progress 00000006 LNKATTN 6 - Handling link attention 00000007 LNKFATAL 7 - Fatal I/O on link 00000008 LNKINIT 8 - Initialization in progress 00000008 LNKDEACT 8 - Deactivation in progress 0062 98 Bitstring 1 CTCXPEND I/O Pending Flags: 1... .... CTCIOACT X'80' - I/O is active on this device .1.. .... CTCRQSEM X'40' - SEM is required on this device 0063 99 Bitstring 1 * reserved 0064 100 Signed 4 CTCXRTRY Retry counter ORB for this device. 0068 104 Bitstring 12 CTCXORB (0) ORB for I/O requests 0068 104 Signed 4 CTCXRET ORB User Parm (I/O Return Addr) 006C 108 Bitstring 4 CTCXREQ ORB Request Flags 0070 112 Address 4 CTCXCPA ORB Channel Program Address Interrupt information for this device. 0074 116 Address 4 CTCXIRB Latest IRBLK address 0078 120 Address 4 CTCXSNS Latest SNSBK address 007C 124 Signed 4 CTCXIORC Latest I/O Return Code 0080 128 Address 4 CTCXCCWX Last CCW expected 0084 132 Address 4 CTCXCCWF Failing CCW Address Work area for this device. 0088 136 Dbl-Word 8 CTCXBUFF (8) Space for a work buffer Variable part of the CTCBK. This area contains: - the Write channel program (8 bytes/buffer) - the Read channel program (8 bytes/buffer) - the PGEBK table (4 bytes/buffer) 00C8 200 Dbl-Word 8 CTCCONT (0) Start of variable length data 000000C8 CTCBKLEN *-CTCBK Size of base CTCBK in bytes 00000019 CTCSIZE (*-CTCBK+7)/8 Size of base CTCBK in doublewords FUNCTION : Map an entry in the table of PGEBK pointers. This table is variable in length and is contained within the CTCBK. Each entry points to a PGEBK that is used to manage an input buffer page. LOCATED BY : CTCPGRDR points to the first Read entry. CTCPGWRT points to the first Write entry.CTCPGTBL DSECT
Hex Dec Type/Val Lng Label (dup) Comments ---- ---- --------- ---- -------------- -------- 0000 0 Structure CTCPGTBL ISFC Link Extension for CTCA devices 0000 0 Address 4 CTCPGPTR Address of a PGEBK entry 00000004 CTCPGLEN *-CTCPGTBL Length of one PGEBK pointer The CTCBK must fit entirely within a 4K page. Since the variable portion of the control block increases in size for each I/O buffer, we have to limit the number of I/O buffers that can be defined for this type of link. The limit can be calculated with the following: Limit := 4064 - ((CTCSIZE*8) / (L'CCW+L'CCW+2*CTCPGLEN)) The advertised limit should be set to a reasonable number below this calculated limit, leaving room for future expansion of the CTCBK. Notes : Bytes per page (4064) leaves 32 bytes for free storage header and trailer information (currently 24 bytes). See HCPFREBK FRERECL for the number of doublewords required for free storage management. 000000A1 CTCMAXCT (4064-(CTCSIZE*8))/(8+8+(2*CTCPGL EN)) Max count
CTCBK Storage Layout
*** CTCBK - ISFC Link Extension for CTCA devices * * +-------------+-------------+-------------+------+------+ * 0 | CTCRELID | CTCBUFCT | CTCWRCNT |:CAPS |//////| * +-------------+-------------+-------------+------+------+ * 8 | CTCLNKBK | CTCQUEBK | * +---------------------------+---------------------------+ * 10 | CTCLDVBK | CTCACOLS | * +---------------------------+---------------------------+ * 18 | CTCDEVNO | CTCDEVID | * +------+------+------+------+---------------------------+ * 20 |:STAT |:FLAG |:PCAPS|//////| CTCMSNUM | * +------+------+------+------+---------------------------+ * 28 | CTCWSQCT |///////////////////////////| * +---------------------------+---------------------------+ * 30 | CTCMDEHD | CTCMDETL | * +---------------------------+---------------------------+ * 38 | CTCWRBGN | CTCWREND | * +---------------------------+---------------------------+ * 40 | CTCRDBGN | CTCRDEND | * +---------------------------+---------------------------+ * 48 | CTCPGRDR | CTCPGWRT | * +---------------------------+---------------------------+ * 50 | CTCWRPTR | CTCRDPTR | * +-------------+-------------+---------------------------+ * 58 | CTCRDCNT |/////////////////////////////////////////| * +------+------+------+------+---------------------------+ * 60 |:XSTAT|:XNEXT|:XPEND|//////| CTCXRTRY | * +------+------+------+------+---------------------------+ * 68 | CTCXRET | CTCXREQ | * +---------------------------+---------------------------+ * 70 | CTCXCPA | CTCXIRB | * +---------------------------+---------------------------+ * 78 | CTCXSNS | CTCXIORC | * +---------------------------+---------------------------+ * 80 | CTCXCCWX | CTCXCCWF | * +---------------------------+---------------------------+ * 88 | | * = CTCXBUFF = * | | * +-------------------------------------------------------+ * C8 | | * = CTCCONT = * | | * +-------------------------------------------------------+ * *** CTCBK - ISFC Link Extension for CTCA devices *** CTCPGTBL - ISFC Link Extension for CTCA devices * * +---------------------------+ * 0 | CTCPGPTR | 4 * +---------------------------+ * *** CTCPGTBL - ISFC Link Extension for CTCA devices
CTCBK Cross Reference
(contains links to field and bit definitions)Symbol Dspl Value -------------- ---- -----CTCACOLS 0014
CTCBKLEN 00C8 000000C8
CTCBUFCT 0002
CTCCAPS 0006
CTCCONT 00C8
CTCDEVID 001C
CTCDEVNO 0018
CTCDLPRG 0021 80
CTCFLAG 0021
CTCIOACT 0062 80
CTCLDVBK 0010
CTCLNKBK 0008
CTCLNKHD 0000
CTCMAXCT 0000 000000A1
CTCMDEHD 0030
CTCMDETL 0034
CTCMSNUM 0024
CTCPCAPS 0022
CTCPGLEN 0000 00000004
CTCPGPTR 0000
CTCPGRDR 0048
CTCPGWRT 004C
CTCQUEBK 000C
CTCRDBGN 0040
CTCRDCNT 0058
CTCRDEND 0044
CTCRDPTR 0054
CTCRELID 0000
CTCRQSEM 0062 40
CTCSIZE 00C8 00000019
CTCSTAT 0020
CTCWEOF 0022 80
CTCWRBGN 0038
CTCWRCNT 0004
CTCWREND 003C
CTCWRPTR 0050
CTCWSPRG 0021 40
CTCWSQCT 0028
CTCXBUFF 0088
CTCXCCWF 0084
CTCXCCWX 0080
CTCXCPA 0070
CTCXIORC 007C
CTCXIRB 0074
CTCXNEXT 0061
CTCXORB 0068
CTCXPEND 0062
CTCXREQ 006C
CTCXRET 0068
CTCXRTRY 0064
CTCXSNS 0078
CTCXSTAT 0060
LNKATTN 0020 00000006
LNKATTN 0060 00000006
LNKATTN 0061 00000006
LNKBUSY 0020 00000002
LNKBUSY 0060 00000002
LNKBUSY 0061 00000002
LNKDEACT 0020 00000008
LNKDEACT 0060 00000008
LNKDEACT 0061 00000008
LNKFATAL 0020 00000007
LNKFATAL 0060 00000007
LNKFATAL 0061 00000007
LNKIDLE 0020 00000001
LNKIDLE 0060 00000001
LNKIDLE 0061 00000001
LNKINIT 0020 00000008
LNKINIT 0060 00000008
LNKINIT 0061 00000008
LNKREAD 0020 00000004
LNKREAD 0060 00000004
LNKREAD 0061 00000004
LNKRESET 0020 00000005
LNKRESET 0060 00000005
LNKRESET 0061 00000005
LNKWRITE 0020 00000003
LNKWRITE 0060 00000003
LNKWRITE 0061 00000003
Last updated on 3 Aug 1999 at 11:49:04 EDT.
Copyright IBM Corporation, 1990, 1999