|
Hex Dec Type/Val Lng Label (dup) Comments
---- ---- --------- ---- -------------- --------
0000 0 Structure DBCWK DASD Block I/O work block
0000 0 Dbl-Word 8 * (64) Space for standard saveBK
0200 512 Dbl-Word 8 DBCIASIT I-ASIT for the
SBIOP/SBILIST/BPLBK and guest
buffers.
Work area can be used as a temporary save area by any
routine that needs to save something temporarily.
The general rule of thumb is that a value stored in
DBCWORK is only used within the subroutine that stored it
there, any exceptions to this rule are noted in the code.
0208 520 Dbl-Word 8 DBCWORK (0) Temporary work area
0208 520 Signed 4 DBCWORK1 Work word 1
020C 524 Signed 4 DBCWORK2 Work word 2
0210 528 Signed 4 DBCWORK3 Work word 3
0214 532 Signed 4 DBCWORK4 Work word 4
The following 4 bytes (1 word) are used to hold various
processing bits common to all types of block i/o.
0218 536 Bitstring 1 DBCSWTCH Flags for processing control
1... .... DBCGOOD X'80' At least one good i/o
.1.. .... DBCNSTD X'40' Nonstandard block size
..1. .... DBCNOCAR X'20' No caching requested
...1 .... DBCWRITE X'10' Type of I/O 1 for read, 0
for write
.... 1... DBCCACC X'08' Cache access held
.... .1.. DBCINCAC X'04' This I/O operation is no
longer eligible for caching
.... ..1. DBCARMOD X'02' In AR Mode
.... ...1 DBCPRIM X'01' Parameter list in primary
0219 537 Bitstring 1 DBCSWTC2 More flags for processing
1... .... DBCNOTEL X'80' DBCNOTEL Not eligible for
cache
.1.. .... DBCBLKER X'40' DBCBLKER Found block in
error
..1. .... DBCREPLP X'20' DBCREPLP Must replace Parm
List
...1 .... DBCCOPYP X'10' DBCCOPYP Made copy of Parm
list
.... 1... DBCASYNC X'08' DBCASYNC Asynchronous
blockio
.... .1.. DBCDG250 X'04' DBCDG250 DIAG 250 i/o
.... ..1. DBCBLKIO X'02' DBCBLKIO *BLOCKIO i/o
.... ...1 DBCDGA4 X'01' DBCDGA4 DIAGA4 i/o
DBCGKEY has key for storage protection checks
021A 538 Bitstring 1 DBCGKEY Storage key
021B 539 Bitstring 1 DBCSWTC4 More processing bits
1... .... DBCGLDEL X'80' DBCGLDEL All track deletion
req.
.1.. .... DBCNOREL X'40' DBCNOREL Don't release on
read
..1. .... DBCRDCPY X'20' DBCRDCPY Read access must
copy data
...1 .... DBCARGST X'10' DBCARGST Guest in AR mode
.... 1... DBCSAWWR X'08' DBCSAWWR At least 1 write
in req.
.... .1.. DBCWFAIL X'04' DBCWFAIL At least 1 write
failed
.... ..1. DBCXSTOR X'02' DBCXSTOR Cache block on
XSTOR
.... ...1 DBCDIDIO X'01' DBCDIDIO Did I/O for this
request
021C 540 Signed 4 DBCSAV original SAVBK address
The DBCHALET is used for the block list control block
for the particular type of block i/o request.
0220 544 Signed 4 DBCHALET ALET for guest space (CP)
0224 548 Signed 4 DBCEALET Guest version of ALET.
0228 552 Signed 4 DBCERET Return address save
022C 556 Signed 4 DBCERET2 2'nd level return address save
0230 560 Signed 4 DBCDPSBK DPSBK Address
0234 564 Signed 4 DBCANCHR BIOPG page list anchor
The following fields used to be in a separate control
block called a DVCPL. They are now placed here to
avoid having to load up its address all the time.
0238 568 Signed 4 DBCHFRST Beginning of DVIENTRY linked list
023C 572 Signed 4 DBCHLAST End of DVIENTRY linked list
0240 576 Address 4 DBCOPPTR Beginning of DVIOP linked list
0244 580 Signed 4 DBCTFRST DVTRK (tracks accessed) list
0248 584 Address 4 DBCLCKAD Address of lock word
024C 588 Signed 4 DBCMAXCH Max channel program size
0250 592 Signed 4 DBCKEY Key save area
0254 596 Signed 4 * Reserved for future IBM use
0258 600 Dbl-Word 8 DBCBKNUM Block number save area
0260 608 Signed 4 DBCDVC DBC/DBE - ptr to DVIENTRY DGB/DGD
- ptr to DVIOP
0264 612 Signed 4 DBCTKPTR Pointer to previous DVTRK
0268 616 Signed 4 DBCRTRAK Relative track save area
026C 620 Signed 4 DBCTCHBK Last Read TCHBK Addr
0270 624 Signed 4 DBCMXENT Max entry count
0274 628 Signed 4 DBCERRAD Address where a host storage
error occurred on parameter list.
The following fields are the CDATA word and the
DPSBK information from the currently-in-use track,
by that we mean that it is the one we will next try
to copy data to/from.
0278 632 Signed 4 DBCTKDAT (0) Data for current track
0278 632 Signed 4 DBCCDATA (0) TCHBK save
0278 632 Signed 2 DBCVCYL Virtual cylinder
027A 634 Bitstring 1 DBCFSTRN First record number
027B 635 Bitstring 1 DBCLOWRN Low record number
027C 636 Signed 4 * (0)
027C 636 Bitstring 1 * Reserved for IBM use
027D 637 Bitstring 3 DBCDPSTF (0) DPSBK stuff we care about
027D 637 Bitstring 1 DBCHIRN Highest record number
027E 638 Signed 2 DBCTKSIZ Blocksize of track
00000002 DBCTKLEN (*-DBCTKDAT+3)/4 Size in words of
track data
The following field is the read copy of the data.
We only have 1 read track accessed at any given time,
yet for *BLOCKIO and DIAG 250 we may have mixed reads
and writes. So if we get write access to a track, then we
copy the read data to this temporary save area. Then,
if we later read from the current read track, then we
can just copy the data back instead of going through a
re-access of the track.
0280 640 Signed 4 DBCRDSAV (2) Read save area
0288 648 Signed 4 DBCBLKCT Remember block count
028C 652 Signed 4 DBCRC Return code save area
0290 656 Signed 2 DBCBLKSZ Block size
0292 658 Signed 2 DBCHSID Hash id for cache
0294 660 Signed 2 DBCOFSET OFFSET into track
0296 662 Signed 2 DBCDBICT Count of DBIRQ blocks sent to
HCPIOS
0298 664 Signed 4 DBCDVIAD Pointer to next DVIOP to schedule
for these i/o oper.
029C 668 Address 4 DBCNEXT Pointer to next DBCWK for this
virtual device
02A0 672 Signed 4 DBCRELRT Release return address
02A4 676 Signed 4 DBCMALET ALET FOR MDC address space for
last track accessed
02A8 680 Signed 4 * (0)
02A8 680 Bitstring 1 DBCSWTC5 More processing bits
1... .... DBCDG18 X'80' DBCDG18 Processing a Diag
X'18'
02A9 681 Bitstring 1 * Reserved for IBM use
02AA 682 Signed 2 DBCTMPH Tempary half word savearea
02AC 684 Signed 4 * Reserved for IBM use
02B0 688 Dbl-Word 8 DBCSPECL (0)
02B0 688 Dbl-Word 8 * (10) Overlay area, note that this
leaves room for service.
00000060 DBCWKLEN (*-DBCWK+7)/8 Size in double
words
DIAGNOSE 18 Specific fields Are overlayed at label
DBCSPECL.
02B0 688 Dbl-Word 8 DBCSVCCW Host copy of CCW
DBCARGSV has BBCCHH of first SEEK in CCW program and the
relocated CC address for the minidisk.
02B8 696 Dbl-Word 8 DBCARGSV (0) First SEEK arguments
02B8 696 Signed 2 DBCARGBB BB portion of seek
02BA 698 Signed 2 DBCARGCC CC portion of seek
DBCARGCC DBCARCCH 00004 DBCARGCC,4 ccccCCCH of seek
02BC 700 Signed 2 DBCARGHH HH portion of seek
02BE 702 Signed 2 * Reserved for IBM use
02C0 704 Signed 4 DBCCYLSV Relocated CC of seek
02C4 708 Signed 4 * Reserved for IBM use
DBCNXTSV has BBCCHH of latest SEEK in CCW program
02C8 712 Dbl-Word 8 DBCNXTSV (0) Latest SEEK arguments
02C8 712 Signed 2 DBCNXTBB BB portion of seek
02CA 714 Signed 2 DBCNXTCC CC portion of seek
DBCNXTCC DBCNXCCH 00004 DBCNXTCC,4 ccccCCCH of seek
02CC 716 Signed 2 DBCNXTHH HH portion of seek
02CE 718 Signed 2 * Reserved for IBM use
DBCORIEN has the latest record orientation information
in it. It has the CCHHR of the last record that we read
from the cache.
02D0 720 Bitstring 5 DBCORIEN (0) Latest SIDE arguments
02D0 720 Signed 2 DBCORICC CC of SIDE
DBCORICC DBCORCCH 00004 DBCORICC,4 ccccCCCH of SIDE
02D2 722 Signed 2 DBCORIHH HH of SIDE
02D4 724 Bitstring 1 DBCORIR R of SIDE
02D5 725 Bitstring 1 DBC18SWT More flags
1... .... DBCFIRST X'80' DBCFIRST Working on first
CCW
.1.. .... DBCBUSYV X'40' DBCBUSYV Made the VDEV busy
..1. .... DBCSILI X'20' DBCSILI SILI bit on
...1 .... DBCMIXED X'10' DBCMIXED Mixed blocksizes
found
.... 1... DBCREMOV X'08' DBCREMOV Can remove
DVIENTRYs
.... .1.. DBCSTD X'04' DBCSTD Track is standard
.... ..1. DBCEOT X'02' DBCEOT Reached End of Track
02D6 726 Signed 2 DBCMAXSZ Max block size found
02D8 728 Signed 4 DBCIORAD IORBK save address
02DC 732 Signed 4 DBCGCCW Guest CCW Address
02E0 736 Signed 4 DBCCCWCT CCW count
02E4 740 Signed 4 DBCCYLTK Relative track for cyl
02E8 744 Signed 4 DBCSEKPT Last SearchID DVIENTRY
02EC 748 Signed 4 DBCCPSPT Last C.P.S. Pointer
02F0 752 Signed 4 DBCTKHED Track pointer
02F4 756 Signed 4 DBC18RC Diag 18 return code
02F8 760 Signed 4 * (2) Reserved for IBM use
DIAGNOSE A4 Specific fields Are overlayed at label
DBCSPECL.
02B0 688 Bitstring 1 DBCA4SWT More flags
1... .... DBCVDEV X'80' DBCVDEV Got the VDEV lock
to be copied back to guest
storage.
.1.. .... DBCBUSY X'40' DBCBUSY We turned on
VDEVBUSY
..1. .... DBCREPS X'20' DBCREPS SBIOP must be
replaced on exit
...1 .... DBCFORMT X'10' DBCFORMT Request type
format
.... 1... DBCINIOR X'08' DBCINIOR Initialized IORBK
.... .1.. DBCCOPYS X'04' DBCCOPYS SBIOP was copied
to host stor
.... ..1. DBCQDSK X'02' DBCQDSK Have Vdisk I/O lock
.... ...1 DBCBKOUT X'01' DBCBKOUT End-user breakout
enabled
02B1 689 Bitstring 1 DBCARNUM ARx access register
02B2 690 Bitstring 1 DBCLPM Guest LPM
02B3 691 Bitstring 1 * Reserved for IBM use
02B4 692 Signed 4 DBCAR9 Save for current ALET
02B8 696 Signed 4 DBCPROG Prog check operand
02BC 700 Signed 4 DBCIORBK IORBK save address
02C0 704 Signed 4 DBCBLKPR Blocks processed
02C4 708 Signed 4 DBCSBIOP Address of SBIOP
02C8 712 Signed 4 DBCGADDR Guest addr of SBIOP
02CC 716 Signed 4 * Reserved for IBM use
02D0 720 Signed 4 DBCGLIST SBILIST guest address
02D4 724 Signed 4 * (11) Reserved for IBM use
DIAGNOSE A4 Format specific fields are overlayed at label
DBCGLIST.
02D0 720 Dbl-Word 8 DBCFBLKS SBIFBLKS
02D8 728 Dbl-Word 8 DBCDIDBK SBIDIDBK
02E0 736 Dbl-Word 8 DBCFDATA SBIFDATA
02E8 744 Dbl-Word 8 DBCLBA SBILBA
02F0 752 Signed 4 * (4) Reserved for IBM use
DIAGNOSE 250 Specific fields are overlayed at label
DBCSPECL.
The following is an address space buffer. It holds the
latest address space info on a guest buffer specified in
the BELBK entry. I.E. It holds the latest BELBALET and
the associated things that we care about. A
non-zero entry indicates that we have access to the data
space containing the buffer. A zero entry means that there
is no address space attached for a given BELBK entry.
02B0 688 Dbl-Word 8 DBCBASIT BELBK I-asit Address
02B8 696 Signed 4 DBCBKIBK BKIBK address
02BC 700 Address 4 DBCHALBK Address of the host-ART lookaside
block containing the ALET/i-ASIT
pairs associated with the data
buffers in the BELBK entries.
02C0 704 Bitstring 1 DBCDOPER Operation field for the DIAG
X'250' request
1... .... DBCABSET X'80' Abort exit was established
.1.. .... DBCABORT X'40' Abort exit was driven
..1. .... DBCASYRQ X'20' Guest requested
asynchronous processing.
...1 .... DBCBYPAS X'10' Guest requested that we
bypass minidisk cache
.... 1... DBCBELST X'08' The BELBK could not be
stored for the completion of an
asynchronous request.
.... .1.. DBC64BIT X'04' Diag 250 guest used large
fields in BIOPL and BELBK.
02C1 705 Bitstring 1 DBCFLAGS More processing flags
1... .... DBCBELGT X'80' DBCBELGT Used GETST to get
BELBK
.1.. .... DBCGTHAL X'40' DBCGTHAL Used GETST to get
HALBK
02C2 706 Bitstring 1 DBC250RC Return code for request
processing
.... .... DBCRC00 X'00' A synchronous request was
successful (either scheduled and
completed, or from cache) or an
asynchronous request was
successfully satisfied from
cache.
.... 1... DBCRC08 X'08' An asynchronous request was
initiated (all or part of the I/O
was scheduled).
.... 11.. DBCRC12 X'0C' A request was partially
successful. If asynchronous, part
of the request was satisfied from
cache, but an error occurred
preventing the entire request
from completing successfully.
..1. 1... DBCRC40 X'28' All of the BELBK entries
were in error, or all DVIOPs were
in error.
..1. 11.. DBCRC44 X'2C' Remove or reset terminated
a synchronous request.
..11 .... DBCRC48 X'30' A synchronous request was
terminated by the user (the abort
exit was driven).
1111 1111 DBCRC255 X'FF' A catastrophic error (abend
condition) occurred. Some I/O may
have been scheduled or done.
02C3 707 Bitstring 1 * Reserved for IBM use
02C4 708 Signed 2 DBCBELCT Number of entries in the block
I/O entry list
02C6 710 Signed 2 * Reserved for IBM use
02C8 712 Signed 4 * Reserved for IBM use
02CC 716 Address 4 DBCBELBK 31 bit host logical address of
the block I/O entry list.
02D0 720 Address 8 DBCGBELA 64 bit guest absolute address of
the block I/O entry list.
02D8 728 Dbl-Word 8 DBCIPARM (0) Interruption parameter, if this
is an asynchronous request.
02D8 728 Signed 4 * High half of 64 bit PARM
02DC 732 Signed 4 DBCIPARM32 Low half of 64 bit PARM or 32 bit
PARM
02E0 736 Dbl-Word 8 DBCOFFCP Offset for block number - this is
a copy of BKIOFFCP
02E8 744 Signed 4 * (6) Reserved for IBM use
**BLOCKIO Specific fields are overlayed at label
DBCSPECL.
DBCSINGL contains a BPLBK, so any changes to the BPLBK
size affect this field.
NOTES : Currently the BPLBK is 4F, but the last 1F is
unused, so using 3F for DBCSINGL works (and is
all we can fit in DBCSPECL at this time).
02B0 688 Signed 4 DBCSINGL (3) Storage for a single block I/O
version of the multiple block I/O
parameter list Mapped by HCPBPLBK
02BC 700 Signed 4 DBCBLKAD BLKIO address
02C0 704 Bitstring 1 DBCBOPER Operation field for SEND Request
1... .... DBCMONO X'80' DBCMONO Indicate Single BLK
SEND REQ Protocol
.1.. .... DBCMULTI X'40' DBCMULTI Indicate Multi BLK
SEND REQ Protocol
..1. .... DBCIWAIT X'20' DBCIWAIT Indicate waiting
for I/O interrupts
...1 .... DBCSYNC X'10' DBCSYNC Guest request is
synchronous
.... 1... DBCGOTBL X'08' DBCGOTBL got storage for
blockio list
.... .1.. DBCSEXIT X'04' DBCSEXIT Exitted to caller
already DBCBLKRC codes are
defined in HCPBIM
02C1 705 Bitstring 1 DBCBLKRC IUCV Reply Return Code
02C2 706 Signed 2 DBCSSHCT Number of real SSCH issued to
handle this send request.
02C4 708 Signed 4 DBCMSGID IUCV message id
02C8 712 Signed 4 DBCTRGCL (0) IUCV target class
02C8 712 Bitstring 3 * IUCV target class
02CB 715 Bitstring 1 DBCBLKRQ Blockio service request
1... .... DBCBLKNC X'80' DBCBLKNC Bypass MDC
processing
.... ..11 DBCBLKMB X'03' DBCBLKMB Multi-block
request
.... ..1. DBCBLKRD X'02' DBCBLKRD Single block read
.... ...1 DBCBLKWR X'01' DBCBLKWR Single block write
02CC 716 Address 4 DBCPLADR Address of the multiple block
parameter list in host logical
storage
02D0 720 Signed 4 DBCGPLST Guest address of the multiple
block
DBCPARML houses an IPARML, so any changes to the IPARML
size affect this field.
02D4 724 Bitstring 40 DBCPARML IUCV reply parameter list
00FFFF7C DBCTCMSK X'FFFFFFFF'-(DBCBLKNC+DBCBLKMB)
Mask to validate DBCTRGCL (IUCV
target class)
02FC 764 Signed 2 DBCPLCNT Count of elements in the multiple
block parameter list
02FE 766 Signed 2 DBCPLSIZ Size of the multiple block
parameter list in bytes
| |