|
Hex Dec Type/Val Lng Label (dup) Comments
---- ---- --------- ---- -------------- --------
0000 0 Structure FXPBK Hyperpav paging channel program storage
0000 0 Bitstring 1 * (4096) FXPBK is 4K and 4K aligned
1000 4096 Character 1 FXPEND (0) End of the FXPBK
00001000 FXPBYSZ *-FXPBK Size in bytes
00000200 FXPDWSZ (((*-FXPBK)+7)/8) Size in
doublewords
00000400 FXPTCAXb 1024 Byte length of TCAX area as
dictated by DS8000
Control fields - If expansion is needed, add a quadword.
Quadword is the size of a TIDAW.
00000F90 FXPctls * Label for calculating the
length of this control area
The next four fields are the frame count for error handling
when a format error occurs and the DCW offset in the TSB is
is not zero.
0F90 3984 Signed 2 FXPERCT1 Frame count for 1st TCAX DCW
0F92 3986 Signed 2 FXPERCT2 Frame count for 2nd TCAX DCW
0F94 3988 Signed 2 FXPERCT3 Frame count for 3rd TCAX DCW
0F96 3990 Signed 2 FXPERCT4 Frame count for 4th TCAX DCW
0F98 3992 Dbl-Word 8 FXPIO I/O start TOD
0FA0 4000 Signed 4 FXPFRMCT NUMBER OF FRAMES IN CP
0FA4 4004 Signed 4 FXPTIDCT Remaining TIDAWs
0FA8 4008 Address 8 FXPTIDAW Current TIDAW address
FXPTIDAW FXPCidaw FXPTIDAW FXPCidaw Latest IDAW
address
0FB0 4016 Address 8 FXPLRE HAA current LRE or imb LR
0FB8 4024 Address 8 FXPTCAT HAA last TCAT location
0FC0 4032 Address 8 FXPTILR Current Imbedded LR address
0FXPTILR FXPCCLR FXPTILR FXPCCLR HAA Command Mode
latest LR
0FC8 4040 Dbl-Word 8 FXPRECRD Last DASD record number
0FD0 4048 Signed 4 FXPblk# (0) FBA last block number
0FD0 4048 Bitstring 1 FXPH Four bit head
0FD1 4049 Bitstring 1 * Part of FXPblk#
0FD2 4050 Signed 2 * Part of FXPblk#
0FD4 4052 Address 4 FXPTCWLA HLA TCW
FXPTCWLA FXPCccw FXPTCWLA FXPCccw HAA Command Mode
latest CCW
0FD8 4056 Address 8 FXPFRMTE First FRMTE/SVGBK on queue
0FE0 4064 Address 8 FXPFRMTL Last FRMTE/SVGBK on queue
0FE8 4072 Signed 4 FXPECYL Current 0CCCcccc
0FEC 4076 Bitstring 1 FXPFLAG Flag byte
1... .... FXPADCBC X'80' FXPADCBC Add CBC to TIDAW
before adding new last TIDAW
.1.. .... FXPADPAD X'40' FXPADPAD Add four byte pad
to TCAX TIDAW on next LRE
..1. .... FXPRMPAD X'20' FXPRMPAD Remove four byte
pad from TCAX TIDAW on next LRE
These are used by HCPPAIIN to
restore IORDFLG3 bits.
...1 .... FXPHPPRD X'10' FXPHPPRD Read channel
program
.... 1... FXPHPPWR X'08' FXPHPPWR Write channel
program
.... .1.. FXPHPPSV X'04' FXPHPPSV Input block is
SVGBK
0FED 4077 Bitstring 1 * Reserved
0FEE 4078 Bitstring 1 FXPTYPE Type of channel program
1... .... FXPFBA X'80' FXPFBA FBA
.1.. .... FXPECKDC X'40' FXPECKDC ECKD command mode
..1. .... FXPECKDT X'20' FXPECKDT ECKD transport
mode
0FEF 4079 Signed 1 FXPLRcnt LocRec count
0FF0 4080 Address 4 FXPRDEV DEBUG: RDEV address
0FF4 4084 Address 4 FXPHXPBK DEBUG: HXPBK address
0FF8 4088 Address 4 FXPIORBK DEBUG: IORBK address
0FFC 4092 Bitstring 1 FXPLRSTA Locate Record state byte
.... .... FXPTCCBE 0 FXPTCCBE TCCB PREFIX LRE in use
.... ...1 FXPTCCBI 1 FXPTCCBI TCCB imbedded LR in
use
.... ..1. FXPTCAXE 2 FXPTCAXE TCAX LRE in use
.... ..11 FXPTCAXI 3 FXPTCAXI TCAX imbedded LR used
0FFD 4093 Character 3 FXPEYE Eye catcher 'FXP'
00000070 FXPctlLn *-FXPctls If we've miscalculated,
this EQU will show what we need
to subtract in the ORG above
Define more FXPBK contents
0000 0 Dbl-Word 8 FXPTCW (8) Transport Command Word
0040 64 Dbl-Word 8 FXPTCCB (34) Host TCCB (max length) DWord
boundary
00000150 FXPTCCBX * Byte past FXPTCCB
CKMAINT that we are on a quadword boundary in order to
check that we haven't skipped bytes and not accounted
for them properly.
Enforce a quadword boundary for TIDAWs
0150 336 Dbl-Word 8 FXPTCAXT (2) Reserved for TCAX TIDAW
0160 352 Character 1 FXPQW (0) Quad word boundary label
Last two letters of FXPTID fields: FCXTIDxy
x=S for size,
x=A for start of TIDAW list (TIDAL)
x=M for max frames
x=E for offset after last TIDAW
y=N for no TCAX
y=T for TCAX
xy=DE for delta between NO TCAX and TCAX
00000E30 FXPTIDSN FXPBYSZ-(FXPQW-FXPBK)-FXPctlLn
TIDAL size - NO TCAX
0160 352 Character 1 FXPTIDAN (3632)
TIDAWS - NO TCAX
000000E3 FXPTIDMN (FXPTIDEN-FXPTIDAN)/16 Max frames
- NO TCAX
00000A30 FXPTIDST FXPBYSZ-(FXPQW-FXPBK)-FXPTCAXb-FX
PctlLn TIDAL size - TCAX
0160 352 Character 1 FXPTIDAT (2608)
TIDAWS - TCAX
0B90 2960 Character 1 FXPTIDET (0) After last TIDAW - TCAX
000000A3 FXPTIDMT (FXPTIDET-FXPTIDAT)/16 Max frames
- TCAX
00000040 FXPTIDDE (FXPTIDMN-FXPTIDMT) Delta - TCAX
and no TCAX
TCAX is at the end of the block to allow a dynamic decision
about including it in the channel program. If the imbedded
locate records in the TCCB are reached with adequate TIDAWs
remaining, the TCAX can be used. The remaining frame count
in the HCPPAIIN loop is decremented by FXPTIDDE.
0B90 2960 Bitstring 1 FXPTCAX (1024) MAXIMUM TCAX LENGTH DS8000
0F90 3984 Character 1 FXPTIDEN (0) After last TIDAW - NO TCAX This
should bring us up to FXPctls at
the end of the 4K.
Redefine FXPBK for Command Mode
0000 0 Dbl-Word 8 FXPCccws (0) First CCW in chain
00000F50 FXPCdat * After IDAWs and LR data; must
be quad-word aligned
0F50 3920 Bitstring 64 FXPCdpfx Basic Prefix data area FXPctls
fields actually reside from here
to end of the page
| |