COMSHIO 
COMMON
          CTEXT  COMSHIO - HIGH-SPEED BUFFERED I/O EQUIVALENCES.
          SPACE  4,10 
          BASE   M
*         COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992. 
 HIO      SPACE  4,10 
***       COMSHIO - HIGH-SPEED BUFFERED DEVICE EQUIVALENCES.
*         P. T. BARNETT.     81/12/10.
 HIO      SPACE  4,10 
***       *COMSHIO* DEFINES PARAMETERS AND CONSTANTS FOR SUPPORT OF 
*         HIGH SPEED BUFFERED DISK UNITS. 
 HIO      SPACE  4,10 
**        CONSTANTS FOR DEVICE AND BUFFER CONTROL.
  
  
 BMRL     EQU    10B         LENGTH OF RECALL REQUEST TABLE 
 CCTH     EQU    12D         CONTINUOUS CYLINDER THRESHOLD
 BTSZ     EQU    400B        BLOCK TRANSFER SIZE
 DACL     EQU    70B         MAXIMUM DEVICE ACTIVITY COUNT FOR WRITE
 DWLT     EQU    4           DATA WRITTEN LIST THRESHOLD
 LLCV     EQU    4           LIST CONTROL FOR HASH ALGORITHM
 LSLB     EQU    40B         LOGICAL SECTORS PER I/O BUFFER 
 MMXC     EQU    10B         MAXIMUM NUMBER OF MUX CHANNEL (819)
 MXCT     EQU    10B         MAXIMUM NUMBER OF *CCT* ENTRIES
 NCCT     EQU    4           NUMBER OF *CCT* ENTRIES FOR 819-S
 PSLB     EQU    4           PHYSICAL 819 SECTORS PER I/O BUFFER
 RCTH     EQU    256D        REQUEST COUNT THRESHOLD
 BDT      SPACE  4,40 
**        BDT - BUFFERED DEVICE TABLE.
* 
*         THIS TABLE CONTAINS DESCRIPTORS AND POINTERS TO TABLES USED 
*         FOR BUFFERED DEVICE CONTROL AND MANAGEMENT. 
* 
*         THE FIRST PART CONTAINS BUFFERED I/O TABLE DESCRIPTORS -
* 
*         12/NE, 6/LE, 18/LT, 6/FL, 18/FWAT 
* 
*         NE     NUMBER OF ENTRIES IN TABLE 
*         LE     LENGTH OF ENTRY
*         LT     LENGTH OF TABLE(S) 
*         FL     OPTIONAL FLAG BITS (PUTP ONLY) 
*         FWAT   FWA OF TABLE 
  
 IBSP     EQU    0           I/O BUFFER STATISTICS TABLE
 PLTP     EQU    IBSP+1      PP - I/O BUFFER LINK TABLE 
 CCTP     EQU    PLTP+1      CHANNEL CONTROL TABLE
 PUTP     EQU    CCTP+1      PHYSICAL UNIT TABLE
 FTTP     EQU    PUTP+1      FUNCTION TIMEOUT TABLE 
 HATP     EQU    FTTP+1      HASH TABLE(S)
 CBTP     EQU    HATP+1      CONTROL BUFFER TABLE 
 IOSP     EQU    CBTP+1      I/O STATISTICS TABLE 
  
*         THE NEXT PART CONTAINS LIST CONTROL WORD(S) - 
* 
*         6/0, 18/NB, 18/LB, 18/FB
* 
*         NB     NUMBER OF BUFFER(S) ON LIST
*         LB     ORDINAL OF LAST BUFFER ON LIST 
*         FB     ORDINAL OF FIRST BUFFER ON LIST
  
 EMTP     EQU    IOSP+1      EMPTY BUFFER LIST
 DWTP     EQU    EMTP+1      DATA WRITTEN LIST
 DRDP     EQU    DWTP+1      READ DATA LIST 
 WRTP     EQU    DRDP+1      WRITE DATA LIST
  
*         THE LAST PART CONTAINS MISCELLANEOUS DATA KEPT HERE SO
*         THAT *DSDI* CAN FIND AND DISPLAY IT.
  
 IORQP    EQU    WRTP+1      I/O REQUEST
 BDTL     EQU    IORQP+1     LENGTH OF *BDT*
 IBST     SPACE  4,15 
**        IBST - I/O BUFFER STATISTICS TABLE. 
* 
*         THIS TABLE CONTAINS STATISTICS ABOUT I/O BUFFER ALLOCATION
*         FOR *CPD* AND/OR *PROBE* TO DISPLAY OR PROCESS. 
* 
*         60/NUMBER OF BUFFERS
  
 EMTBC    EQU    0           REALLOCATED EMPTY BUFFERS
 DWTBC    EQU    EMTBC+1     REALLOCATED DATA WRITTEN BUFFERS 
 DRDBC    EQU    DWTBC+1     REALLOCATED READ DATA BUFFERS
 WRTBC    EQU    DRDBC+1     REALLOCATED WRITE DATA BUFFERS 
  
 IBSL     EQU    WRTBC+1     LENGTH OF *IBST* 
 CCT      SPACE  4,50 
**        CCT - CHANNEL CONTROL TABLE.
* 
*         *CCT* FORMAT FOR 819 DEVICES. 
* 
*T,CREQ   12/FLAGA, 12/0, 12/RQ, 12/PQ, 12/AQ 
*T,CCNT   12/FLAGB, 6/CH2, 6/CH1, 36/QCNT 
*T,CUN1   12/0, 12/UN3, 12/UN2, 12/UN1, 12/UN0
*T,CUN2   12/0, 12/UN7, 12/UN6, 12/UN5, 12/UN4
* 
*         FLAGA  BIT 59 - CHANNEL BUSY (TRANSFER IN PROGRESS) 
*         RQ     RETRY REQUEST
*         PQ     PENDING REQUEST
*         AQ     COUNT OF ACTIVE REQUESTS 
*         FLAGB  BIT 59 - REQUEST INITIATED FOR UNIT 0
*                  .
*                  .
*                BIT 52 - REQUEST INITIATED FOR UNIT 7
*         CH1    FIRST CHANNEL
*         CH2    SECOND CHANNEL 
*         QCNT   COUNT OF TOTAL REQUESTS PROCESSED
*         UN0 
*          .     *PUT* ORDINALS FOR UNITS ON THIS CHANNEL 
*          .
*         UN7 
* 
* 
*         *CCT* FORMAT FOR NON-819 BUFFERED DEVICES.
* 
*T,CREQ   12/CHA, 12/UAC, 36/RESERVED 
*T,CCNT   18/RESERVED, 6/CHN, 36/RESERVED 
*T,CUN1   18/NAM, 6/0, 6/CTO, 18/0, 12/CHN
*T,CUN2   60/RESERVED 
* 
*         CHA    CHANNEL ACTIVITY (NONZERO IF CHANNEL ACTIVE) 
*         UAC    UNIT ACTIVITY COUNT
*         CHN    CHANNEL NUMBER 
*         NAM    DRIVER NAME
*         CTO    CCT ORDINAL
*         CHN    CHANNEL NUMBER 
  
  
 CREQ     EQU    0           CHANNEL REQUEST CONTROL
 CCNT     EQU    CREQ+1      CHANNEL REQUEST COUNT
 CUN1     EQU    CCNT+1      UNIT LIST - 1
 CUN2     EQU    CUN1+1      UNIT LIST - 2
  
 CCTL     EQU    CUN2+1      LENGTH OF *CCT* ENTRY
 HAT      SPACE  4,20 
**        HAT - HASH TABLE. 
* 
*         THIS TABLE KEEPS TRACK OF WHAT DATA IS IN THE I/O BUFFERS.
*         IF THE PHYSICAL ADDRESS DESCRIBED IS IN A BUFFER, THE *HAT* 
*         TABLE ENTRY WILL POINT TO THE FIRST CONTROL BUFFER IN A 
*         CHAIN THAT CONTAINS THE DESIRED DATA.  THERE ARE MULTIPLE 
*         TABLES IN THE AREA RESERVED FOR THIS USE - ONE FOR EACH 
*         BUFFERED DISK UNIT.  THE LENGTH MUST BE A POWER 
*         OF TWO, UP TO A MAXIMUM OF 400B.  EACH TABLE IS POINTED TO
*         BY A FIELD IN THE *PUT* ENTRY FOR THE PHYSICAL DEVICE.  FOR 
*         PARTITIONED DEVICES, THE *HAT* TABLE FOR A PARTICULAR 
*         PARTITION IS LOCATED AT FWAH+PN*HATLE, WHERE FWAH IS THE
*         HASH TABLE ADDRESS FROM THE *PUT*, *PN* IS THE PARTITION
*         NUMBER, AND *HATLE* IS THE HASH TABLE LENGTH. 
* 
*         12/TRK, 12/FS, 12/LS, 12/0, 12/CBO
* 
*         TRK    LOGICAL TRACK
*         FS     FIRST SECTOR 
*         LS     LAST SECTOR
*         CBO    ORDINAL OF FIRST CONTROL BUFFER IN CHAIN 
  
  
 HATL     EQU    1           LENGTH OF *HAT* ENTRY
  
 HATLE    EQU    400B        SIZE OF HASH TABLE 
 PLT      SPACE  4,10 
**        PP LINK TABLE.
* 
*         THIS TABLE CONTAINS THE CONTROL BUFFER ORDINALS THAT ARE
*         CURRENTLY IN USE BY A PP DOING I/O THROUGH *6DE*.  WHILE
*         NOT NEEDED, THIS METHOD INCREASES PERFORMANCE CONSIDERABLY. 
* 
*         48/0, 12/CONTROL BUFFER ORDINAL 
  
 PLTL     EQU    30D         NUMBER OF ENTRIES - ONE FOR EACH PP / CPP
 PUT      SPACE  4,50 
**        PHYSICAL UNIT TABLE.
* 
*         THIS TABLE CONTAINS STATISTICS AND CONTROL INFORMATION FOR
*         EACH UNIT IT DESCRIBES.  THERE IS ONE ENTRY FOR EACH PHYSICAL 
*         BUFFERED I/O UNIT CONFIGURED IN THE SYSTEM.  FOR PARTITIONED
*         DEVICES, ONE *PUT* ENTRY SERVICES ALL EST ORDINALS COMPRISING 
*         THE PHYSICAL DEVICE.
* 
*T,UNCT   1/UI, 1/RW, 4/EQ, 6/UN, 12/ESTO, 12/QS, 12/CQ, 12/FQ
*T,HSCT   6/PS,3/0,9/HM,18/FWAH,12/RCNT,12/PUTC 
*T,RDST   24/0, 36/SCRD 
*T,WTST   24/0, 36/SCWT 
*T,ACRJ   12/CHR, 12/CHW, 12/CHF, 24/CBB
*T,ACST   24/RCL, 36/CNT
*T,INST   24/VFRJ, 36/VFDG
*T,PILL   12/ERFG, 6/ERUN, 18/RESERVED, 12/SRFG, 12/PPOR
* 
*         UI     UNIT INTERLOCK 
*         RW     REQUEST(S) WAITING FLAG. 
*         EQ     EQUIPMENT/CONTROLLER NUMBER (9853/583X/47444 ONLY) 
*                READ RECOVERY INDEX (819 ONLY) 
*         UN     PHYSICAL UNIT NUMBER 
*         ESTO   EST ORDINAL OF DEVICE/FIRST PARTITION. 
*         QS     UNIT QUEUE SIZE - NUMBER OF CONTROL BUFFERS
*         CQ     ORDINAL OF CURRENT CONTROL BUFFER IN THE UNIT QUEUE
*         FQ     ORDINAL OF FIRST CONTROL BUFFER IN THE UNIT QUEUE
*         PS     PHYSICAL SECTORS PER I/O BUFFER
*         HM     HASH MASK - LENGTH-1 OF *HAT* FOR THIS UNIT
*         FWAH   FWA OF FIRST *HAT* FOR THIS PHYSICAL UNIT
*         RCNT   REQUESTS PROCESSED SINCE *RW* FLAG SET.
*         PUTC   *PUT* ORDINAL OF NEXT UNIT IN CHAIN (MULTI-SPINDLE). 
*         SCRD   TOTAL NUMBER OF SECTORS READ 
*         SCWT   TOTAL NUMBER OF SECTORS WRITTEN
*         CHR    TOTAL NUMBER OF EVICTED READ HASH TABLE ENTRIES
*         CHW    TOTAL NUMBER OF EVICTED WRITE HASH TABLE ENTRIES 
*         CHF    TOTAL NUMBER OF REJECTS DUE TO FULL HASH TABLE 
*         CBB    TOTAL NUMBER OF REJECTS DUE TO BUFFER BUSY 
*         RCL    TOTAL NUMBER OF RECALL REQUEST REPLIES 
*         CNT    TOTAL NUMBER OF BUFFER REQUESTS PROCESSED
*         VFRJ   VERIFY AND INTERLOCK BUFFER REJECT 
*         VFDG   VERIFY AND INTERLOCK DATA GOOD 
*         ERFG   ERROR FLAGS
*                2**48 = I/O QUEUE SIZE ERROR (LEVEL 3 RECOVERY)
*                2**49 = I/O QUEUE LINKAGE ERROR (LEVEL 3 RECOVERY) 
*                2**50 = I/O QUEUE *PUT* ORDINAL ERROR (LVL 3 RECOVERY) 
*                2**51 = FORMAT/CLUSTERING FAILURE (583X/47444 ONLY)
*         ERUN   583X/47444 UNIT WHERE ERROR WAS FIRST ENCOUNTERED. 
*         SRFG   SPECIAL REQUEST FLAGS (887 ONLY) 
*                2**17 = RESERVED 
*                2**16 = VERIFICATION DIAGNOSTICS REQUESTED 
*                2**15 = UNIT CHARACTERISTICS REQUESTED 
*                2**14 = SPIN UP REQUESTED
*                2**13 = SPIN DOWN REQUESTED
*                2**12 = DEVICE UNAVAILABLE FOR I/O 
*         SRFG   SPECIAL REQUEST FLAGS (895 DMA ONLY) 
*                2**23 - 2**18 = CHANNEL NUMBER FOR FIRMWARE LOGGING
*                2**17 = LIST FIRMWARE REVISION 
*                2**16 = RESERVED 
*                2**15 = LIST PACK SERIAL NUMBER
*                2**14 = FORMAT MAINTENANCE CYLINDER
*                2**13 = PROCESS DISK FLAWS 
*                2**12 = ERRORS ENCOUNTERED PROCESSING *PUT* REQUEST
*         SRFG   SPECIAL REQUEST FLAGS (9853 ONLY)
*                2**23 - 2**18 = CHANNEL NUMBER FOR FIRMWARE LOGGING
*                2**17 = LIST FIRMWARE REVISION 
*                2**16 = RESERVED 
*                2**15 = LIST PACK SERIAL NUMBER
*                2**14 = RESERVED 
*                2**13 = RESERVED 
*                2**12 = ENABLE CONTROLLER ACTIVITY 
*         SFRG   SPECIAL REQUEST FLAGS (583X/47444 ONLY)
*                2**23 - 2**18 = CHANNEL NUMBER FOR FIRMWARE LOGGING
*                2**17 = LIST FIRMWARE REVISION 
*                2**16 = FORMAT/CLUSTERING REQUESTED
*                2**15 = LIST PACK SERIAL NUMBER
*                2**14 = RESERVED 
*                2**13 = RESTORE PARITY PROTECTION
*                2**12 = ENABLE CONTROLLER ACTIVITY 
*         PPOR   *OR* ADDRESS OF PP HOLDING THE UNIT INTERLOCK
  
  
 UNCT     EQU    0           UNIT CONTROL 
 HSCT     EQU    UNCT+1      HASH TABLE CONTROL 
 RDST     EQU    HSCT+1      READ STATISTICS
 WTST     EQU    RDST+1      WRITE STATISTICS 
 ACRJ     EQU    WTST+1      BUFFER ACCESS REJECT STATISTICS
 ACST     EQU    ACRJ+1      BUFFER ACCESS STATISTICS 
 INST     EQU    ACST+1      BUFFER INTERLOCK STATISTICS
 PILL     EQU    INST+1      PP INTERLOCK WORD
 PUTL     EQU    PILL+1      LENGTH OF *PUT* ENTRY
 FTT      SPACE  4,15 
**        FTT - FUNCTION TIMEOUT TABLE. 
* 
*         THIS TABLE IS USED BY DRIVERS ON C180 MAINFRAMES
*         TO TIMEOUT FUNCTIONS THAT HAVE BEEN ISSUED TO THE 
*         DISK.  THE TABLE IS INDEXED BY *PUT* ORDINAL. 
*         ENTRIES ARE MODIFIED BY PP-S AND CPP-S ONLY.  THE 
*         CPU DOES NOT CHANGE THIS TABLE. 
* 
*         60/DDD                                 (GENERAL FORMAT) 
* 
*         DDD    DEVICE DEPENDENT DATA
* 
*             =  12/, 12/TO, 12/AD, 24/TL  (887/9853/583X/47444)
*         TO     TIMEOUT VALUE FOR LAST FUNCTION
*         AD     ADDRESS *STO* CALLED FROM
*         TL     TIME LIMIT IN SECONDS
  
  
 FTTL     EQU    1           LENGTH OF *FTT* ENTRY
 CBT      SPACE  4,75 
**        CBT - CONTROL BUFFER TABLE. 
* 
*         THIS TABLE IS USED FOR ALLOCATION, ACCESS, AND CONTROL
*         OF THE I/O BUFFERS IN *UEM*, *LCM*, OR *ESM*. 
* 
*         EACH I/O BUFFER CONTAINS 4000B WORDS OR 40B LOGICAL SECTORS.
*         I/O BUFFERS NEVER CROSS LOGICAL TRACK BOUNDARIES; THIS
*         DICTATES THAT BUFFERED DEVICE SECTOR LIMITS MUST BE EVENLY
*         DIVISIBLE BY 40B.  THE NUMBER OF PHYSICAL SECTORS IN AN 
*         I/O BUFFER DIFFERS FOR DIFFERENT DEVICE TYPES, AS FOLLOWS - 
* 
*         DEVICE TYPE        SECTOR SIZE         SECTORS/BUFFER 
* 
*           885-42               400B                   8 
*           9853                 400B                   8 
*           819                 1000B                   4 
*           887 (DF)            1000B                   4 
*           887 (DH)            4000B                   1 
*           895                 4000B                   1 
*           583X                4000B                   1 
*           47444 (EO/EP)       1000B                   4 
*           47444 (ALL OTHERS)  2000B                   2 
* 
*         SINCE THERE ARE ONLY FOUR PHYSICAL ADDRESSES (PAD1-PAD4) IN 
*         THE *CBT*, EACH PHYSICAL ADDRESS FOR AN 885-42 OR 9853 REFERS 
*         TO TWO CONSECUTIVE SECTORS. 
* 
*T,PAD1   6/    0, 6/UN, 12/CYL, 6/TK, 6/SC, 12/FLAGD, 12/LINK
*T,PAD2   6/    0, 6/UN, 12/CYL, 6/TK, 6/SC, 12/FLAGD, 12/LINK
*T,PAD3   6/    0, 6/UN, 12/CYL, 6/TK, 6/SC, 12/FLAGD, 12/LINK
*T,PAD4   6/   CH, 6/UN, 12/CYL, 6/TK, 6/SC, 12/FLAGD, 12/LINK
*T,FSTC   60/ FST 
*T,IOLK   12/FLAGE, 12/IOLKB, 12/IOLKF, 24/IOBA 
*T,HSLK   12/FLAGF, 12/HSLKB, 12/HSLKF, 3/LI, 9/HI, 12/PUTO 
*T,LSLK   12/AC, 12/LSLKB, 12/LSLKF, 6/CP, 18/REA 
* 
*         UN     PHYSICAL UNIT NUMBER 
*         CYL    CYLINDER NUMBER
*         TK     PHYSICAL TRACK NUMBER
*         SC     PHYSICAL SECTOR NUMBER 
*         FLAGD  BIT 23 -  FIRST SECTOR DOES NOT CONTAIN VALID DATA 
*                BIT 22 - SECOND SECTOR DOES NOT CONTAIN VALID DATA 
*                         (BOTH BITS WILL BE SET FOR AN 819 SECTOR) 
*                         (BOTH BITS IN *PAD1* - *PAD4* WILL BE SET 
*                          FOR AN 895 SECTOR) 
*                BIT 21 - UNUSED. 
*                BIT 20 - UNUSED. 
*                BIT 19 - SHORT PRU (LOGICAL SECTORS 37, 27, 17, 7) 
*                BIT 18 - SHORT PRU (LOGICAL SECTORS 36, 26, 16, 6) 
*                BIT 17 - SHORT PRU (LOGICAL SECTORS 35, 25, 15, 5) 
*                BIT 16 - SHORT PRU (LOGICAL SECTORS 34, 24, 14, 4) 
*                BIT 15 - SHORT PRU (LOGICAL SECTORS 33, 23, 13, 3) 
*                BIT 14 - SHORT PRU (LOGICAL SECTORS 32, 22, 12, 2) 
*                BIT 13 - SHORT PRU (LOGICAL SECTORS 31, 21, 11, 1) 
*                BIT 12 - SHORT PRU (LOGICAL SECTORS 30, 20, 10, 0) 
*         LINK   LINK TO NEXT SECTOR
*         CH     CHANNEL NUMBER FOR DEVICE VERIFICATION OR ERROR RETRY. 
*         FST    DATA FROM *FST* ENTRY. 
*         FLAGE  BIT 59 - I/O INTERLOCK 
*                BIT 58 - READ THRESHOLD TRIGGER
*                BIT 57 - BUFFER CONTAINS WRITE DATA
*                BIT 56 - I/O LINKUP (819 ONLY).
*                BIT 55 - SYSTEM FILE DATA IN BUFFER. 
*                BIT 54 - RECOVERED WRITE BUFFER. 
*                BIT 53 - DATA STREAMING DISABLED.
*                BIT 52 - 48  RESERVED. 
*         IOLKB  BACKWARD LINK FOR UNIT I/O QUEUE 
*         IOLKF  FORWARD LINK FOR UNIT I/O QUEUE
*         IOBA   I/O BUFFER ADDRESS 
*         FLAGF  BIT 59 - I/O ERROR.
*                BIT 58 - FORCED CHANNEL SELECTION. 
*                BITS 57 - 54 - UNUSED. 
*                BIT 53 - ERROR CODE. 
*                  .           .
*                  .           .
*                  .           .
*                BIT 48        .
*         HSLKB  BACKWARD LINK FOR HASH ENTRY LIST
*         HSLKF  FORWARD LINK FOR HASH ENTRY LIST 
*         LI     LIST INDEX TO INDICATE RESIDENCE OF BUFFER 
*                1 = EMPTY BUFFER LIST
*                2 = DATA WRITTEN LIST
*                3 = READ DATA LIST 
*                4 = WRITE DATA LIST
*         HI     HASH INDEX TO ENTRY FOR THIS BUFFER
*         PUTO   *PUT* ORDINAL OF DEVICE TO WHICH BUFFER IS ASSIGNED
*         AC     ACTIVE COUNT (4000B IF BUFFER IS WRITE INTERLOCKED)
*         LSLKB  BACKWARD LINK FOR BUFFER LIST
*         LSLKF  FORWARD LINK FOR BUFFER LIST 
*         CPN    CONTROL POINT NUMBER (ZERO IF REQUEST FROM PP) 
*         REA    RECALL ENTRY ADDRESS (PP MESSAGE BUFFER) 
  
  
 PAD1     EQU    0           FIRST SECTOR(S)
 PAD2     EQU    PAD1+1      SECOND SECTOR(S) 
 PAD3     EQU    PAD2+1      THIRD SECTOR(S)
 PAD4     EQU    PAD3+1      FOURTH SECTOR(S) 
 FSTC     EQU    PAD4+1      *FST* DATA 
 IOLK     EQU    FSTC+1      I/O QUEUE LINK 
 HSLK     EQU    IOLK+1      HASH ENTRY LINK
 LSLK     EQU    HSLK+1      LIST LINK
  
 CBTL     EQU    LSLK+1      LENGTH OF *CBT* ENTRY
          SPACE  4,10 
**        SELECTIVE RESET FLAGS SET IN *PUT* POINTER WORD.
  
  
 XDSR     EQU    23D         *CM3* DRIVER RESET INTERLOCK 
          SPACE  4,10 
**        SPECIAL REQUEST FLAGS SET IN *PUT* ENTRY (SEE *SRFG*
*         FIELD UNDER DESCRIPTION OF PHYSICAL UNIT TABLE).
  
  
*         FLAGS FOR 887 DEVICES.
  
*         EQU    17D         RESERVED 
 DVDF     EQU    16D         VERIFICATION DIAGNOSTICS REQUESTED 
 DUCF     EQU    15D         UNIT CHARACTERISTICS REQUESTED 
 SPUF     EQU    14D         SPIN-UP REQUESTED
 SPDF     EQU    13D         SPIN-DOWN REQUESTED
 DUNF     EQU    12D         DEVICE UNAVAILABLE FOR I/O 
  
*         FLAGS FOR 895 DMA.
  
 LFMI     EQU    17D         LIST FIRMWARE REVISION 
*         EQU    16D         RESERVED 
 LPSN     EQU    15D         LIST PACK SERIAL NUMBER
 FMMC     EQU    14D         FORMAT MAINTENANCE CYLINDER
 PRFM     EQU    13D         PROCESS DISK FLAW MAP
 PERR     EQU    12D         ERROR IN PROCESSING *PUT* REQUEST
  
*         FLAGS FOR 9853 DEVICES. 
  
 LMLF     EQU    LFMI        LIST MICROCODE REVISION LEVEL
*         EQU    16D         RESERVED 
 LDIF     EQU    LPSN        LIST DRIVE UNIQUE IDENTIFICATION 
*         EQU    14D         RESERVED 
*         EQU    13D         RESERVED 
 ECAF     EQU    12D         ENABLE CONTROLLER ACTIVITY 
  
*         FLAGS FOR 583X/47444 DEVICES. 
  
 LMLF     EQU    LFMI        LIST MICROCODE REVISION LEVEL
 FCRF     EQU    16D         FORMAT/CLUSTERING REQUESTED
 LDIF     EQU    LPSN        LIST DRIVE UNIQUE IDENTIFICATION 
*         EQU    14D         RESERVED 
 RSPF     EQU    13D         RESTORE PARITY PROTECTION
 ECAF     EQU    ECAF        ENABLE CONTROLLER ACTIVITY 
 IOST     SPACE 4,10
**        IOST - I/O STATISTICS TABLE.
* 
*         THIS TABLE IS PRESENT ONLY IF *PROBE* IS ENABLED.  IT IS USED 
*         TO COLLECT DATA CONCERNING THE NUMBER OF REQUESTS PER DISK
*         WITH A SPECIFIED TRANSFER SIZE.  SEPARATE DATA IS KEPT FOR
*         READ AND WRITE REQUESTS.  TRANSFER SIZE IS IN TERMS OF NUMBER 
*         OF *CBT*S TRANSFERED.  EACH *PUT* WILL HAVE AN ASSOCIATED 
*         *IOST* ENTRY. 
* 
* 
*T IOST   30/ RCNT0, 30/ WCNT0
*T,       30/ RCNT1, 30/ WCNT1
*T,       30/ RCNT2, 30/ WCNT2
*T,       30/ RCNT3, 30/ WCNT3
*T,       30/ RCNT4, 30/ WCNT4
*T,       30/ RCNT5, 30/ WCNT5
*T,       30/ RCNT6, 30/ WCNT6
*T,       30/ RCNT7, 30/ WCNT7
* 
*         ----------------------------------------------------------- 
*         I   FIELD      I       LENGTH OF READ TRANSFER IN-        I 
*         I              I         *CBT*S             SECTORS       I 
*         ----------------------------------------------------------- 
*         I              I                     I                    I 
*         I   RCNT0      I           1         I       1 - 40B      I 
*         I   RCNT1      I         2 - 3       I     41B - 140B     I 
*         I   RCNT2      I         4 - 7       I    141B - 340B     I 
*         I   RCNT3      I       10B - 17B     I    341B - 740B     I 
*         I   RCNT4      I       20B - 37B     I    741B - 1740B    I 
*         I   RCNT5      I       40B - 77B     I   1741B - 3740B    I 
*         I   RCNT6      I      100B - 177B    I   3741B - 7740B    I 
*         I   RCNT7      I     MORE THAN 200B  I   MORE THAN 7740B  I 
*         I              I                     I                    I 
*         ----------------------------------------------------------- 
* 
* 
*         ----------------------------------------------------------- 
*         I   FIELD      I      LENGTH OF WRITE TRANSFER IN-        I 
*         I              I         *CBT*S              SECTORS      I 
*         ----------------------------------------------------------- 
*         I              I                     I                    I 
*         I   WCNT0      I           1         I       1 - 40B      I 
*         I   WCNT1      I         2 - 3       I     41B - 140B     I 
*         I   WCNT2      I         4 - 7       I    141B - 340B     I 
*         I   WCNT3      I       10B - 17B     I    341B - 740B     I 
*         I   WCNT4      I       20B - 37B     I    741B - 1740B    I 
*         I   WCNT5      I       40B - 77B     I   1741B - 3740B    I 
*         I   WCNT6      I      100B - 177B    I   3741B - 7740B    I 
*         I   WCNT7      I     MORE THAN 177B  I   MORE THAN 7740B  I 
*         I              I                     I                    I 
*         ----------------------------------------------------------- 
          SPACE  4,10 
**        LEVEL-3 RECOVERY ERROR FLAGS. 
* 
*         FLAGS SET IN WORD *REML* BY *CPUMTR* PRESET.
* 
*         2**0 = WRITE LIST LINKAGE ERROR.
*         2**1 = READ DATA ON WRITE LIST. 
*         2**2 = INTERLOCKED BUFFER ON WRITE LIST.
*         2**3 = WRITE LIST BUFFER COUNT ERROR. 
*         2**4 = NON-LINKED WRITE BUFFER FOUND. 
  
 WLLE     EQU    1           WRITE LIST LINKAGE ERROR 
 WLRD     EQU    2           READ DATA ON WRITE LIST
 WLIB     EQU    4           INTERLOCKED BUFFER ON WRITE LIST 
 WLBC     EQU    10          WRITE LIST BUFFER COUNT ERROR
 WLNL     EQU    20          NON-LINKED WRITE BUFFER FOUND
  
*         FLAGS SET IN WORD *PILL* OF THE *PUT* TABLE.
  
 IOQS     EQU    1           I/O QUEUE SIZE ERROR 
 IOQL     EQU    2           I/O QUEUE LINKAGE ERROR
 IOQP     EQU    4           I/O QUEUE *PUT* ORDINAL ERROR
          SPACE  4,10 
**        SHIFT CONSTANTS.
* 
*         THE FOLLOWING SHIFT CONSTANTS ARE DEFINED TO SIMPLIFY 
*         COMPUTATION OF THE ADDRESS OF INDIVIDUAL ENTRIES IN THE 
*         TABLES DEFINED ABOVE.  NOTE THAT ALL ENTRY LENGTHS ARE
*         POWERS OF TWO.
  
  
 CBTLS    EQU    3           CONTROL BUFFER ENTRY 
          ERRNZ  CBTL-10B    COUNT MUST BE CHANGED TO MATCH LENGTH
 CCTLS    EQU    2           CHANNEL CONTROL ENTRY
          ERRNZ  CCTL-4      COUNT MUST BE CHANGED TO MATCH LENGTH
 FTTLS    EQU    0           FUNCTION TIMEOUT ENTRY 
          ERRNZ  FTTL-1      COUNT MUST BE CHANGED TO MATCH LENGTH
 LSLBS    EQU    5           LOGICAL SECTORS PER I/O BUFFER 
          ERRNZ  LSLB-40B    COUNT MUST BE CHANGED TO MATCH LENGTH
 PUTLS    EQU    3           PHYSICAL UNIT ENTRY
          ERRNZ  PUTL-10B    COUNT MUST BE CHANGED TO MATCH LENGTH
          SPACE  4,10 
          BASE   *
 HIO      ENDX
