A method of preventing trace data first-in-first-out buffer overflow in a
pipelined data processor stops new instructions when a trace data
first-in-first-out buffer is in danger of overflowing. The method also
stalls a predetermined number of pipeline stages in the pipeline ahead of
the first pipeline stage. The trace data first-in-first-out buffer is
emptied while the pipeline is stalled. On restart, the stalled pipeline
stages are restarted ahead of re-enabling new instructions. Asynchronous
trigger events received during the stall may be buffered and unrolled in
order or merely stored and applied simultaneously on restart.