next up previous contents
Next: 3.2 FPGA Configuration and Diagnostic Software Up: 3 Software Design Previous: 3 Software Design

3.1 Interrupt Handler

A program or device driver should be executed on the SUT with the ability to stall the machine upon request by the Recording PC. It should disable and flush any on-chip cache such as that of the i486 so that all memory references will appear on the bus.

The program staller provides the system stalling code to complement the Rocky hardware for PCs described in the next section. It adds itself to the interrupt vector table, terminates, and stays resident.

Applications can be run normally after the interrupt handler is installed. Address information tracing is controlled by the remote PC, so nothing different happens on the SUT until Rocky asserts an interrupt request (IRQ) line, invoking the interrupt handler.

The interrupt code simply reads repeatedly a byte from Rocky's port until SRQ deactivates, meaning the Recording PC has finished writing to disk. Rocky does not transmit addresses during this time, so the CPU can continue to process timer tick interrupts, but other interrupts (keyboard, serial I/O) should be disabled if the interrupt code is wanted in the trace. Refer to Appendix D.2 for a listing of staller.c.



Scott E. Harrington
Sat Apr 29 18:56:25 EDT 1995