Programming Interface Information:
This information is NOT intended to be used as Programming Interfaces of z/VM. |
CTCBK
Control Block Contents
CTCBK DSECT
CTCPGTBL DSECT
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). RELOCATION CONSIDERATIONS : None 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. The link header is one reason why CTCBK storage has to be below the 2 gig bar. Treat the address of CTCLNKHD as a Host Logical address. 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 00000000 LNKDVCTL 0 LNKDVCTL - Device Control mode 00000000 LNKINIT 0 LNKINIT - Initialization in progress 00000001 LNKIDLE 1 LNKIDLE - Idle 00000002 LNKBUSY 2 LNKBUSY - Busy 00000003 LNKWRITE 3 LNKWRITE - Write in progress 00000004 LNKREAD 4 LNKREAD - Read in progress 00000005 LNKRESET 5 LNKRESET - Reset in progress 00000006 LNKATTN 6 LNKATTN - Handling link attention 00000007 LNKFATAL 7 LNKFATAL - Fatal I/O on link 00000008 LNKDEACT 8 LNKDEACT - Deactivation in progress 0021 33 Bitstring 1 CTCFLAG Link Flags 1... .... CTCDLPRG X'80' CTCDLPRG - Delete in progress .1.. .... CTCWSPRG X'40' CTCWSPRG - 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' CTCWEOF - Write End Of File supported .1.. .... CTCMBHBK X'40' CTCMBHBK - MBHBK Transfer possible 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. All are host logical addresses 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 00000000 LNKDVCTL 0 LNKDVCTL - Device Control mode 00000000 LNKINIT 0 LNKINIT - Initialization in progress 00000001 LNKIDLE 1 LNKIDLE - Idle 00000002 LNKBUSY 2 LNKBUSY - Busy 00000003 LNKWRITE 3 LNKWRITE - Write in progress 00000004 LNKREAD 4 LNKREAD - Read in progress 00000005 LNKRESET 5 LNKRESET - Reset in progress 00000006 LNKATTN 6 LNKATTN - Handling link attention 00000007 LNKFATAL 7 LNKFATAL - Fatal I/O on link 00000008 LNKDEACT 8 LNKDEACT - Deactivation in progress 0061 97 Bitstring 1 CTCXNEXT Next operation to be started 00000000 LNKDVCTL 0 LNKDVCTL - Device Control mode 00000000 LNKINIT 0 LNKINIT - Initialization in progress 00000001 LNKIDLE 1 LNKIDLE - Idle 00000002 LNKBUSY 2 LNKBUSY - Busy 00000003 LNKWRITE 3 LNKWRITE - Write in progress 00000004 LNKREAD 4 LNKREAD - Read in progress 00000005 LNKRESET 5 LNKRESET - Reset in progress 00000006 LNKATTN 6 LNKATTN - Handling link attention 00000007 LNKFATAL 7 LNKFATAL - Fatal I/O on link 00000008 LNKDEACT 8 LNKDEACT - Deactivation in progress 0062 98 Bitstring 1 CTCXPEND I/O Pending Flags: 1... .... CTCIOACT X'80' CTCIOACT - I/O is active on this device .1.. .... CTCRQSEM X'40' CTCRQSEM - SEM is required on this device 0063 99 Bitstring 1 * reserved 0064 100 Signed 4 CTCXRTRY Retry counter ORB for this device. Treat as Host Logical address 0068 104 Bitstring 12 CTCXORB (0) ORB for I/O requests Treat as Host Logical address 0068 104 Signed 4 CTCXRET ORB User Parm (I/O Return Addr) 006C 108 Bitstring 4 CTCXREQ ORB Request Flags Host Absolute 32 bit address 0070 112 Address 4 CTCXCPA ORB Channel Program Address Interrupt information for this device. 32 bit Host Absolute address 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 Host Logical address 0080 128 Address 4 CTCXCCWX Last CCW expected Not in use - 32 bit host absolute 0084 132 Address 4 CTCXCCWF Failing CCW Address 0088 136 Address 8 CTCIDAW (0) 64 Bit Host Absolute address 0088 136 Address 4 CTCHIDAW High word of address 008C 140 Address 4 CTCLIDAW Low word of address Work area for this device. 0090 144 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) Another area which requires CTCBK storage to be below the 2 gig bar. Address of CTCCONT is treated as Host Logical address 00D0 208 Dbl-Word 8 CTCCONT (0) Start of variable length data 000000D0 CTCBKLEN *-CTCBK Size of base CTCBK in bytes 0000001A 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. 000000A0 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 | CTCHIDAW | CTCLIDAW | * +---------------------------+---------------------------+ * 90 | | * = CTCXBUFF = * | | * +-------------------------------------------------------+ * *** 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
Symbol Dspl Value -------------- ---- ----- CTCACOLS 0014 CTCBKLEN 00D0 000000D0 CTCBUFCT 0002 CTCCAPS 0006 CTCCONT 00D0 CTCDEVID 001C CTCDEVNO 0018 CTCDLPRG 0021 80 CTCFLAG 0021 CTCHIDAW 0088 CTCIDAW 0088 CTCIOACT 0062 80 CTCLDVBK 0010 CTCLIDAW 008C CTCLNKBK 0008 CTCLNKHD 0000 CTCMAXCT 0000 000000A0 CTCMBHBK 0022 40 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 00D0 0000001A CTCSTAT 0020 CTCWEOF 0022 80 CTCWRBGN 0038 CTCWRCNT 0004 CTCWREND 003C CTCWRPTR 0050 CTCWSPRG 0021 40 CTCWSQCT 0028 CTCXBUFF 0090 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 LNKDVCTL 0020 00000000 LNKDVCTL 0060 00000000 LNKDVCTL 0061 00000000 LNKFATAL 0020 00000007 LNKFATAL 0060 00000007 LNKFATAL 0061 00000007 LNKIDLE 0020 00000001 LNKIDLE 0060 00000001 LNKIDLE 0061 00000001 LNKINIT 0020 00000000 LNKINIT 0060 00000000 LNKINIT 0061 00000000 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
Copyright IBM Corporation, 1990, 2011