{}
{
{     DECK=CML$65850_1X_FAILURE_DATA
{
{ PURPOSE:
{    The purpose of this statistic is to record the failure data
{    captured by the system when accessing an optical disk.
{
{ FREQUENCY: At each failure occurrence.
{
{ CONTENT:
{    The  descriptive-data portion of this statistic contains:
{
{    '<mf>.<iou>.<pp>.<ch>.<controller>.<unit>*<vsn>*<class>*<message>'
{
{      where <mf> is the identification of the mainframe in the form
{        $SYSTEM_mmmm_ssss.  Where 'mmmm' is the model number of
{        Central Processor zero (CP0), e.g. 0990, and 'ssss' is the
{        serial number of that processor, e.g. 0104.
{
{      where  <iou>  is  the  string  'IOUn' where n is 0 or 1.
{        This identifies the IOU associated with the channel over
{        which the failure was reported.
{
{      where <pp> is either the string 'PPn' or 'CPPn' and where 'n'
{        is the decimal representation of the logical PP number used
{        to process the failing request.  Note that 'CPP' is the
{        designation given to the concurrent PPs in an I4 IOU.
{
{      where <ch> is either the string 'CHn' or 'CCHnp',
{        where 'n' is the decimal representation of the channel and
{        where 'p' is the channel port (A or B) through which the
{        disk device was accessed.  Note that 'CCH' is the
{        designation given to the concurrent channels in an I4 IOU.
{
{      where  <controller> is the element name of the controller used
{        in the failing request.
{
{      where  <unit> is the element name of the unit used
{        in the failing request.
{
{      where  <vsn> is the volume identifier of volume mounted on the
{         unit used in the failing request.
{
{      where  <class>  is the string 'UF' for unrecovered, 'RF' for
{        recovered, 'IF' for intermediate and 'IM' for informative message.
{
{      where <message> a statement of the failure provided  by
{        the optical disk controller status or by the pp status.
{        The messages are the text after the counter values in the
{        descriptions of counters 8 and 9 below.
{
{    The  counter-value portion of this statistic contains:
{
{    1.  Logical PP number
{        Bit 57 is set to 1 for an I4 concurrent PP.
{        Bits 46 thru 51 contains the iou number calculated from the 4th
{             character of the iou element name.
{    2.  Channel Number of the optical disk
{        Bit 57 is set to 1 for an I4 concurrent channel.
{        Bit 56 is set to 1 if I4 channel port A.
{        Bit 55 is set to 1 if I4 channel port b.
{        Bits 46 thru 51 contains the iou number calculated from the 4th
{             character of the iou element name.
{    3.  Equipment Number of optical disk controller
{    4.  Physical Unit Number
{    5.  Unit-type
{       1 - ODISK
{    6.  Logical Operation Code
{       1 - read label
{       2 - write label
{       3 - find label
{       4 - read file
{       5 - write file
{       6 - position
{       7 - write eop
{       8 - send function
{       9 - get scanner status
{       10 - run diagnostic
{    7.  Failure Severity
{       0 - Recovered Failure Report
{       1 - Unrecovered Failure Report
{       2 - Intermediate Failure Report
{       3 - Informative Message
{    8.  Failure Symptom Code for errors detected by the optical disk controller.
{       800(16) THRU B80(16) ERRORS REPORTED BY THE OPTICAL DISK CONTROLLER
{            Any status that can not be identified will have a text
{            message of 'UNKNOWN ERROR' if it is outside of the error status
{            range. If the status is in the range of errors but unknown the text
{            message be the header for the range of errors.
{
{
{                           GENERAL STATUS EQUATES
{
{        0001(16)  'EOI ENCOUNTERED'
{        0002(16)  'DATA READY'
{        0004(16)  'BUFFER READY'
{        0008(16)  'CONTROL MODULE RESERVED'
{        0010(16)  'COMMAND IN PROGRESS'
{        0800(16)  'DIAGNOSTIC DETECTED ERROR'
{
{                          DIAGNOSTICS DETECTED ERRORS
{
{        0801(16)  'ADDRESS ERROR'
{        0802(16)  'UNCORRECTABLE MEMORY PARITY ERROR'
{        0803(16)  'ILLEGAL INSTRUCTION'
{        0804(16)  'ZERO DIVIDE'
{        0805(16)  'TRAP OVERFLOW'
{        0806(16)  'TRAP VECTOR'
{        0807(16)  'INSTRUCTION TRACE'
{        0808(16)  'CHECK EXEMPTION'
{        0809(16)  'PRIVILEGE VIOLATION'
{        080A(16)  'BUS ERROR (ILLEGAL I/O ON PORT 7)'
{        080B(16)  'CORRECTABLE MEMORY PARITY ERROR'
{        080C(16)  'ROM MEMORY PARITY ERROR'
{        080E(16)  'FUNCTION PARITY ERROR'
{        0828(16)  'RAM MEMORY FAILURE'
{        0829(16)  'RAM MEMORY FAILURE'
{        082A(16)  'ILLEGAL DIAGNOSTIC PARAMETER'
{        082D(16)  'SELECT ACTIVE DROPPED'
{        082E(16)  'INCORRECT CONTROLWARE'
{        082F(16)  'RAM CHECKSUM ERROR'
{        0860(16)  'BUFFER MEMORY FAILURE'
{        0861(16)  'BUFFER MEMORY FAILURE'
{        0862(16)  'PORT NOT CLEAR AFTER RESET'
{        0863(16)  'WORD OUTPUT NOT = I/O PORT INPUT'
{        0864(16)  'WRITE UL=ODD   READ U BYTE, PE'
{        0865(16)  'WRITE UL=ODD   READ L BYTE, PE'
{        0866(16)  'WRITE UL=ODD   READ WORD, PE'
{        0867(16)  'WRITE U=EVEN   READ U BYTE, NO PE'
{        0868(16)  'WRITE U=EVEN   READ L BYTE, PE'
{        0869(16)  'WRITE U=EVEN   READ WORD, NO PE'
{        086A(16)  'WRITE L=EVEN   READ U BYTE, PE'
{        086B(16)  'WRITE L=EVEN   READ L BYTE, NO PE'
{        086C(16)  'WRITE L=EVEN   READ WORD, NO PE'
{        086D(16)  'WRITE UL=EVEN  READ U BYTE, NO PE'
{        086E(16)  'WRITE UL=EVEN  READ L BYTE, NO PE'
{        086F(16)  'WRITE UL=EVEN  READ WORD, NO PE'
{        0870(16)  'WRITE UL=ODD   READ U BYTE, PE'
{        0871(16)  'WRITE UL=ODD   READ L BYTE, PE'
{        0872(16)  'WRITE UL=ODD   READ WORD, PE'
{        0873(16)  'WRITE U=EVEN   READ U BYTE, NO PE'
{        0874(16)  'WRITE U=EVEN   READ L BYTE, PE'
{        0875(16)  'WRITE U=EVEN   READ WORD, NO PE'
{        0876(16)  'WRITE L=EVEN   READ U BYTE, PE'
{        0877(16)  'WRITE L=EVEN   READ L BYTE, NO PE'
{        0878(16)  'WRITE L=EVEN   READ WORD, NO PE'
{        0879(16)  'WRITE UL=EVEN  READ U BYTE, NO PE'
{        087A(16)  'WRITE UL=EVEN  READ L BYTE, NO PE'
{        087B(16)  'WRITE UL=EVEN  READ WORD, NO PE'
{        0880(16)  'LOOP ISI NOT COMPARED'
{        0881(16)  'PARITY ERROR ON LOOP ISI'
{        0882(16)  'TRANSFER NOT COMPLETE'
{        0883(16)  'BUFFER PARITY ERROR'
{        0884(16)  'BUFFER DATA MISCOMPARE'
{        0885(16)  'BAD PARITY'
{        0886(16)  'TRANSFER NOT COMPLETE'
{        0887(16)  'BUFFER PARITY ERROR'
{        0888(16)  'BUFFER DATA MISCOMPARE'
{        0889(16)  'BAD PARITY'
{        088A(16)  'ISI PARITY ERROR OCCURRED'
{        088B(16)  'TRANSFER NOT COMPLETE'
{        088C(16)  'BUFFER PARITY ERROR'
{        088D(16)  'PROC. DATA MISCOMPARE'
{        088E(16)  'BAD PARITY IN BUFFER'
{        088F(16)  'FORCED BUFFER PARITY ERROR FAILED'
{        0890(16)  'ISI PARITY ERROR'
{        0891(16)  'ISI PARITY CHECK FAILURE'
{        0892(16)  'ISI PARITY DISABLE FAILURE'
{        0893(16)  'NO INTERRUPT ON RAM PARITY ERROR'
{        0894(16)  'NO INTERRUPT ON I/O TO IC'
{        0895(16)  'NO INTERRUPT ON ODD ADDRESS'
{        0896(16)  'LOOP PROCESSOR TO BUFFER ERROR'
{        0897(16)  'LOOP BUFFER TO PROCESSOR ERROR'
{        0898(16)  'ISI DMT BIT DID NOT SET'
{        0899(16)  'NO INTERRUPT ON ILLEGAL INSTRUCTION'
{
{                        CONTROLLER/FORMATTER ERRORS
{
{        0A00(16)  'FORMATTER IRRECOVERABLE ERROR'
{        0A02(16)  'IRRECOVERABLE MEMORY PARITY ERROR'
{        0A0B(16)  'CORRECTABLE MEMORY PARITY ERROR'
{        0A10(16)  'INCORRECT ATTENTION RESPONSE'
{        0A28(16)  'RAM MEMORY FAILURE'
{        0A29(16)  'RAM MEMORY FAILURE'
{        0A2A(16)  'ILLEGAL DIAGNOSTIC PARAMETER'
{        0A2D(16)  'SELECT ACTIVE DROPPED'
{        0A2E(16)  'INCORRECT CONTROLWARE'
{        0A2F(16)  'RAM CHECKSUM ERROR'
{        0A30(16)  'PROCESSOR BUFFER WRITE ERROR (0040)'
{        0A31(16)  'PROCESSOR BUFFER READ ERROR  (0041)'
{        0A32(16)  'DMA TRANSFER TIMEOUT ERROR (0042-0043)'
{        0A33(16)  'DMA TRANSFER LENGTH ERROR  (0042-0043)'
{
{                        ISI/ICI  ERRORS
{
{        0A40(16)  'UNDEFINED ERROR FROM CRACK STATUS'
{        0A41(16)  'COMPARE ERROR ON LOOPED DATA'
{        0A42(16)  'SELECT ACTIVE NOT DROPED AFTER PARITY ERROR'
{        0A43(16)  'ATTENTION NOT RECEIVED AFTER PARITY ERROR'
{        0A44(16)  'MANUAL INTERVENTION NOT 63 AFTER PARITY ERROR'
{        0A45(16)  'ISI PARITY ERROR'
{        0A46(16)  'ISI TIMEOUT'
{        0A47(16)  'SELECT ACTIVE NOT SET'
{        0A48(16)  'DMA ISI HARDWARE TRANSFER ERROR'
{        0A49(16)  'DMA ICI HARDWARE TRANSFER ERROR'
{        0A4B(16)  'RESERVE ERROR - SELECT ACTIVE DOWN'
{        0A4C(16)  'ISI CHANNEL DEAD MAN TERMINATE'
{        0A4D(16)  'ISI CHANNEL PARITY ERROR ON FUNCTION'
{        0A4E(16)  'ICI CHANNEL PARITY ERROR ON FUNCTION'
{        0A4F(16)  'BIT SIGNIFICANT RESPONSE WRONG'
{        0A51(16)  'CONTROL MODULE FUNCTION BUFFER ERROR'
{        0A52(16)  'CONTROL MODULE DATA BUFFER ERROR'
{        0A53(16)  'DMA TRANSFER TEST FAILED'
{        0A54(16)  'FUNCTION PARAMETER LOADING ERROR'
{        0A55(16)  'MISSING ATTENTION'
{        0A56(16)  'COMMAND TIMEOUT - NO ATTENTION'
{
{                        DRIVE/UNIT ERRORS
{
{        0A58(16)  'IRRECOVERABLE DEVICE ERROR'
{        0A59(16)  'DRIVE NOT PRESENT'
{        0A5A(16)  'DRIVE NOT READY'
{        0A5B(16)  'DISPLAY UNIT ERROR'
{        0A5C(16)  'PAUSE FLAG DID NOT DROP'
{        0A60(16)  'TRANSFER TIMEOUT'
{        0A61(16)  'UNABLE TO WRITE'
{        0A62(16)  'UNABLE TO READ'
{        0A63(16)  'SYSTEM INTERVENTION SET'
{        0A64(16)  'MANUAL INTERVENTION SET'
{        0A65(16)  'DELAYED STATUS SET'
{
{                        FUNCTION FAILURES AND SOFTWARE ERRORS
{
{        0A81(16)  'ACTIVE FILE COUNTER ZERO AT DECREMENT'
{        0A82(16)  'WRITE CHUNK WITHOUT WRITE SEQUENCE'
{        0A83(16)  'READ CHUNK WITHOUT READ SEQUENCE'
{        0A84(16)  'SPIN DOWN WITH ACTIVE FILE COUNT'
{        0A85(16)  'OUTSTANDING ATTENTION AT RESERVE PATH'
{        0A86(16)  'ENCOUNTERED END OF MEDIA'
{        0A87(16)  'BEGINNING OF MEDIA DURING BACKSPACE'
{
{                        LABEL FUNCTION FAILURES AND ERRORS
{
{        0B00(16)  'NOT LABEL DATA IN BUFFER ON LABEL WRITE'
{        0B01(16)  'CARTRIDGE/UNIT WRITE PROTECT SWITCHES SET'
{        0B02(16)  'SELECT ACTIVE DROPPED'
{        0B03(16)  'HOST/FORMATTER TIMEOUT'
{        0B04(16)  'HOST/FORMATTER TRANSFER ERROR'
{        0B06(16)  'LABEL FUNCTION PARAMETERS INCORRECT'
{        0B07(16)  'CARTRIDGE NOT LABELED'
{        0B08(16)  'NO LABEL MATCH ON FIND LABEL'
{        0B0A(16)  'CARTRIDGE HAS DATA IN SYSTEM AREA'
{        0B0B(16)  'REQUEST/MOUNTED VSN MISMATCH'
{        0B0C(16)  'PARTITION LABEL MISMATCH'
{        0B0F(16)  'NO SPACE ON PARTITION/PTOC FULL'
{        0B10(16)  'UNABLE TO FIND PTOC STARTING ADDRESS'
{        0B11(16)  'HOST DID NOT SUPPLY EOF/EOS ADDRESS'
{        0B12(16)  'HOST DID NOT SUPPLY A VOLUME NAME'
{        0B13(16)  'HOST DID NOT SUPPLY PARTITION NAME'
{        0B14(16)  'NO SPACE ON LEFT ON DISK'
{        0B15(16)  'NO SPACE TO WRITE ON PARTITION/FILE'
{        0B16(16)  'PREALLOCATED FILE BIGGER THAN PARTITION'
{        0B17(16)  'NOT ENOUGH SPACE FOR PARTITION'
{
{    9.  Failure Symptom Code for errors detected by the pp
{
{       30(16) THRU 3A(16)  ERRORS REPORTED BY THE PPU.
{       ODPP Error Code can assume any of the following hexadecimal values -
{
{        30(16)  - 'NO RESPONSE TO FUNCTION'
{             Indicates that the PP timed out waiting for a response
{             to a function from the Formatter or Interface Module.
{
{        31(16)  - 'PARITY ERROR ON CHANNEL'
{             Indicates that a PP instruction (either CFM or SFM -
{             Jump if parity error clear/set) detected a channel
{             parity error.  This error indicates that the hardware
{             is not in agreement with the parity generated by the
{             hardware interface on data received.
{
{        32(16)  - 'CHANNEL FAILED TO GO EMPTY'
{             The PP timed out waiting for the channel to empty on
{             output to the hardware.
{
{        33(16)  - 'INPUT DEADMAN TIMEOUT'
{             PP detected an input deadman terminate condition on the
{             channel from the Interface Module.
{
{        34(16)  - 'OUTPUT DEADMAN TIMEOUT'
{             PP detected an output deadman terminate condition on the
{             channel from the IM interface.
{
{        35(16)  - 'CHANNEL FULL BEFORE OUTPUT'
{             PP detected a channel full condition while preparing to
{             output to the IM interface.
{
{        36(16)  - 'CHANNEL ACTIVE BEFORE FUNCTION'
{             PP detected a channel active condition while preparing
{             to send a function to the IM interface.
{
{        37(16)  - 'CHANNEL EMPTY BEFORE INPUT'
{             PP detected a channel empty condition while preparing to
{             input from the IM interface.
{
{        38(16)  - 'CHANNEL EMPTY DURING INPUT'
{             An empty channel condition was detected while inputting
{             data.  The contents of the A register was not zero when
{             the channel empty condition was detected.
{
{        39(16)  - 'EXIT FROM I/O INSTRUCTION'
{             An abnormal exit from an input instruction was detected.
{             The contents of the A register were <> 0 and the channel
{             was full and active at the time of the abnormal exit
{             from the input instruction.
{
{        3A(16)  - 'LOOPBACK DATA COMPARE ERROR'
{             The data returned on the diagnostic loopback test does not
{             match the data sent to the controller.
{
{            COUNTERS USED IF THE PPU REPORTS THE ERROR
{    10. Last function code sent to the optical disk controller
{    11. For error 39(16), number of channel words for data transfer.
{        For error 39a16), requested data pattern for loopback.
{    12. For error 39(16), residue number of channel words for data transfer.
{        For error 39a16), returned data pattern for loopback.
{    13. For error 39(16), expected number of 8-bit bytes for data transfer.
{    14. Current command table command code.
{            (used during developement).
{    15. PPU address of code detecting the error.
{            (used during developement).
{    16. A copy of the pp command being processed when the error occured.
{            (used during developement).
{    17. The index of the pp command being processed when the error occured.
{            (used during developement).
{    18-19. Currently not used.
{
{            COUNTERS USED IF THE CONTROLLER REPORTS THE ERROR
{                AND THE PP IS ABLE TO GET A HARDWARE STATUS.
{    20-25. Hardware status from controller eight bytes per counter.
{

  CONST
    cml$65850_1x_failure_data = cmc$min_ecc + 7410;

*copyc cmc$condition_limits
