diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2010-09-13 19:26:03 -0700 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2010-09-13 19:26:03 -0700 |
commit | 6833ca7eedd351596bb1518620af7465f5172fcd (patch) | |
tree | 4a67b3d591132dab3e8273fc9dfba606a1720e4a /src/sim/faults.cc | |
parent | 2edfcbbaee87c1a28351fc0dcd81d52d0d9102a4 (diff) | |
download | gem5-6833ca7eedd351596bb1518620af7465f5172fcd.tar.xz |
Faults: Pass the StaticInst involved, if any, to a Fault's invoke method.
Also move the "Fault" reference counted pointer type into a separate file,
sim/fault.hh. It would be better to name this less similarly to sim/faults.hh
to reduce confusion, but fault.hh matches the name of the type. We could change
Fault to FaultPtr to match other pointer types, and then changing the name of
the file would make more sense.
Diffstat (limited to 'src/sim/faults.cc')
-rw-r--r-- | src/sim/faults.cc | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/sim/faults.cc b/src/sim/faults.cc index 10f0b9a66..78b9fb0a4 100644 --- a/src/sim/faults.cc +++ b/src/sim/faults.cc @@ -38,12 +38,12 @@ #include "mem/page_table.hh" #if !FULL_SYSTEM -void FaultBase::invoke(ThreadContext * tc) +void FaultBase::invoke(ThreadContext * tc, StaticInstPtr inst) { panic("fault (%s) detected @ PC %p", name(), tc->readPC()); } #else -void FaultBase::invoke(ThreadContext * tc) +void FaultBase::invoke(ThreadContext * tc, StaticInstPtr inst) { DPRINTF(Fault, "Fault %s at PC: %#x\n", name(), tc->readPC()); @@ -51,13 +51,13 @@ void FaultBase::invoke(ThreadContext * tc) } #endif -void UnimpFault::invoke(ThreadContext * tc) +void UnimpFault::invoke(ThreadContext * tc, StaticInstPtr inst) { panic("Unimpfault: %s\n", panicStr.c_str()); } #if !FULL_SYSTEM -void GenericPageTableFault::invoke(ThreadContext *tc) +void GenericPageTableFault::invoke(ThreadContext *tc, StaticInstPtr inst) { Process *p = tc->getProcessPtr(); @@ -66,7 +66,7 @@ void GenericPageTableFault::invoke(ThreadContext *tc) } -void GenericAlignmentFault::invoke(ThreadContext *tc) +void GenericAlignmentFault::invoke(ThreadContext *tc, StaticInstPtr inst) { panic("Alignment fault when accessing virtual address %#x\n", vaddr); } |