User`s guide
DWMBB Adapter
3.12 Error Handling
The DWMBB detects errors on the XMI, the VAXBI, the IBUS, and
in the page map register RAMs.
DWMBB error handling accomplishes the following:
• Captures error information for error analysis
• Prevents errors from propagating by aborting error-causing
transactions
• Facilitates software recovery
Error generation and checking is performed on the DWMBB, on both ports
of the CPU, on DMA-A and DMA-B register files, and on the IBUS data
path between the modules.
A specific error is flagged in one of the two Error Summary Registers
(AESR and BESR) so that errors can be traced by software and
diagnostics. When an error occurs, the DWMBB locks its error and
address registers to ensure that a subsequent transaction will not change
any states in the DWMBB until software services the error condition(s).
Even though an error causes the DWMBB/A module to issue a write error
IVINTR, any pending DMA or CPU transactions that are error free are
processed to completion, even if a previous transaction was halted due to
an error.
The DWMBB/B module can nullify the following transactions on the IBUS
if it detects an error and if it is unable to prevent the transfer of that
transaction on the IBUS:
• DMA transactions
• I/O read data
• IDENT vectors
The DWMBB/B module does not prevent the transfer on the IBUS but
informs the DWMBB/A module that the transaction is "nullified." The
DWMBB/A module then aborts the transaction and returns to an idle state
ready to receive a new transaction. When this happens, the DWMBB/B
module issues the necessary interrupts and logs the error.
If the DWMBB/A module detects an error in a DMA cycle and the
transaction is not nullified by the DWMBB/B module, the DWMBB/A
module logs the error, initiates the appropriate error response, aborts
the transaction, and returns to an idle state ready to receive a new
transaction.
3–113