diff options
author | Steve Reinhardt <steve.reinhardt@amd.com> | 2016-01-17 18:27:46 -0800 |
---|---|---|
committer | Steve Reinhardt <steve.reinhardt@amd.com> | 2016-01-17 18:27:46 -0800 |
commit | 28a0e5a165842bb3e5bed144cc5b64437810e4fb (patch) | |
tree | 75a66c54be627107db729e188485ff2ea9c2e3c3 /src/arch/alpha/ev5.cc | |
parent | fcfe6e798d0bc8032e803c0a95dad026e87c3260 (diff) | |
download | gem5-28a0e5a165842bb3e5bed144cc5b64437810e4fb.tar.xz |
sim: don't ignore SIG_TRAP
By ignoring SIG_TRAP, using --debug-break <N> when not connected to
a debugger becomes a no-op. Apparently this was intended to be a
feature, though the rationale is not clear.
If we don't ignore SIG_TRAP, then using --debug-break <N> when not
connected to a debugger causes the simulation process to terminate
at tick N. This is occasionally useful, e.g., if you just want to
collect a trace for a specific window of execution then you can combine
this with --debug-start to do exactly that.
In addition to not ignoring the signal, this patch also updates
the --debug-break help message and deletes a handful of unprotected
calls to Debug::breakpoint() that relied on the prior behavior.
Diffstat (limited to 'src/arch/alpha/ev5.cc')
-rw-r--r-- | src/arch/alpha/ev5.cc | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/src/arch/alpha/ev5.cc b/src/arch/alpha/ev5.cc index d45786a83..1e8231b66 100644 --- a/src/arch/alpha/ev5.cc +++ b/src/arch/alpha/ev5.cc @@ -271,11 +271,6 @@ ISA::setIpr(int idx, uint64_t val, ThreadContext *tc) break; case IPR_IPLR: -#ifdef DEBUG - if (break_ipl != -1 && break_ipl == (int)(val & 0x1f)) - Debug::breakpoint(); -#endif - // only write least significant five bits - interrupt level ipr[idx] = val & 0x1f; if (tc->getKernelStats()) |