diff options
author | Ali Saidi <saidi@eecs.umich.edu> | 2006-04-06 18:04:57 -0400 |
---|---|---|
committer | Ali Saidi <saidi@eecs.umich.edu> | 2006-04-06 18:04:57 -0400 |
commit | 62ebe251dac998202403bea45ba69345dc5bf42d (patch) | |
tree | 779632e0062c10fc0b6c825cf827a69fca5ed6b0 /arch/sparc | |
parent | 832311a17094501a6883100ac9dba8c781211782 (diff) | |
parent | 61b2bd9d28fa288628d8ef3eb3fd4ab3cef9902f (diff) | |
download | gem5-62ebe251dac998202403bea45ba69345dc5bf42d.tar.xz |
Merge zizzer:/bk/newmem
into zeep.eecs.umich.edu:/z/saidi/work/m5.newmem
--HG--
extra : convert_revision : a0bfc7495ba0f2916214d6712f67c5c239a210a0
Diffstat (limited to 'arch/sparc')
-rw-r--r-- | arch/sparc/faults.cc | 11 | ||||
-rw-r--r-- | arch/sparc/faults.hh | 23 |
2 files changed, 33 insertions, 1 deletions
diff --git a/arch/sparc/faults.cc b/arch/sparc/faults.cc index a26015aae..e83bba800 100644 --- a/arch/sparc/faults.cc +++ b/arch/sparc/faults.cc @@ -215,7 +215,10 @@ TrapType TrapInstruction::_baseTrapType = 0x100; FaultPriority TrapInstruction::_priority = 16; FaultStat TrapInstruction::_count; - +FaultName UnimpFault::_name = "Unimplemented Simulator feature"; +TrapType UnimpFault::_trapType = 0x000; +FaultPriority UnimpFault::_priority = 0; +FaultStat UnimpFault::_count; #if FULL_SYSTEM @@ -242,6 +245,12 @@ void SparcFault::invoke(ExecContext * xc) xc->regs.npc = xc->regs.pc + sizeof(MachInst);*/ } +void UnimpFault::invoke(ExecContext * xc) +{ + panic("Unimpfault: %s\n", panicStr.c_str()); +} + + #endif } // namespace SparcISA diff --git a/arch/sparc/faults.hh b/arch/sparc/faults.hh index 36a72930a..87de8daaa 100644 --- a/arch/sparc/faults.hh +++ b/arch/sparc/faults.hh @@ -581,6 +581,29 @@ class TrapInstruction : public EnumeratedFault FaultStat & countStat() {return _count;} }; +class UnimpFault : public SparcFault +{ + private: + static FaultName _name; + static TrapType _trapType; + static FaultPriority _priority; + static FaultStat _count; + std::string panicStr; + public: + UnimpFault(std::string _str) + : panicStr(_str) + { } + + FaultName name() {return _name;} + TrapType trapType() {return _trapType;} + FaultPriority priority() {return _priority;} + FaultStat & countStat() {return _count;} +#if FULL_SYSTEM + void invoke(ExecContext * xc); +#endif +}; + + } // SparcISA namespace #endif // __FAULTS_HH__ |