Browse Prior Art Database

Resident Debug Program for Multi-Function Input/Output Processor Microcode Problem Analysis

IP.com Disclosure Number: IPCOM000099713D
Original Publication Date: 1990-Feb-01
Included in the Prior Art Database: 2005-Mar-15
Document File: 3 page(s) / 107K

Publishing Venue

IBM

Related People

Agha, SA: AUTHOR [+4]

Abstract

Described is a resident debugger program (RESBUG) for use in debugging problems that occur in a multi-function I/O processor's (MFIOP's) microcode. It allows problem investigation to begin right at the point of failure. It is possible to do this because RESBUG is always available on every machine. It just needs to be invoked when needed.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Resident Debug Program for Multi-Function Input/Output Processor Microcode Problem Analysis

       Described is a resident debugger program (RESBUG) for use
in debugging problems that occur in a multi-function I/O processor's
(MFIOP's) microcode. It allows problem investigation to begin right
at the point of failure.  It is possible to do this because RESBUG is
always available on every machine.  It just needs to be invoked when
needed.

      RESBUG provides the following common debug functions needed for
a developer to debug a code problem:
      -  Start/Stop the microprocessor
      -  Display/Alter the memory contents
      -  Display/Alter the microprocessor internal registers
      -  Display/Alter the external hardware registers

      RESBUG communicates with the user across a serial interface to
an external PC.  Because the MFIOP must support a serial interface to
the operator panel, this serial interface already exists and is used
as is.

      The software architecture of RESBUG is shown in the figure.
There are three main software pieces to RESBUG:
1.   Resident debug (RESBUG) command processor 1. RESBUG processes
debug packet requests that it receives from the serial link.  These
requests are defined to be the minimum set of primitives that are
necessary to provide the debug functions.  Because this code is
resident in a customer product, the design intent of this area is to
make it as small, simple, and stable as possible.
2.   Serial Interface/Personal Computer (SI/PC) Communication. This
code piece controls the data transfers between the SI/PC's CPR
program 2 and the MFIOP card's RESBUG program 1.  This interface is
made up of three pieces:
     a.   Serial Interrupt Handler (SIH) 3. This routine performs all
the handling that is needed on the IOP side to ship out-going packets
from RESBUG 1 to an SI/PC 4.  It also receives incoming data from
SI/PC 4 and formats the data back into a debug packet that RESBUG
understands.
     b.   Operator's Panel (Pnl) 5. The panel performs all necessary
handshaking that is needed to transfer data between the MFIOP card
and the PC across the SI channel.
     c.   Async Interrupt Handler (AIH) 6. This routine performs
analogous functions that SIH 3 provides for RESBUG 1, only for the PC
Async card and the CPR routine 2.
3.   Control Program for RESBUG (CPR) 2. This code piece provides the
user interfaces...