diff options
author | Kevin Lim <ktlim@umich.edu> | 2004-05-28 11:41:52 -0400 |
---|---|---|
committer | Kevin Lim <ktlim@umich.edu> | 2004-05-28 11:41:52 -0400 |
commit | 67b5f6afc10a87a5942d24ad503f3e6b9358580c (patch) | |
tree | 9cf28cf00687b98d3e818b4a72b8ed583d7061e2 /cpu/exec_context.cc | |
parent | 4f34dda81cf26340b9446e5a15bbbcd8840b92a2 (diff) | |
parent | a896960cbfce76a0e0c8cfb5cbdfc805ce72577b (diff) | |
download | gem5-67b5f6afc10a87a5942d24ad503f3e6b9358580c.tar.xz |
Merged in new FastCPU stuff with existing code.
arch/alpha/ev5.cc:
Added templatized processInterrupts() function that can be used by all of the CPU models.
arch/alpha/isa_desc:
Merged in changes to remove CPU dependence.
arch/isa_parser.py:
Merged in changes.
cpu/static_inst.hh:
Includes FastCPU execute methods.
--HG--
extra : convert_revision : fcaa1dca35a9b316c73982bec8680df564f50bd8
Diffstat (limited to 'cpu/exec_context.cc')
-rw-r--r-- | cpu/exec_context.cc | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/cpu/exec_context.cc b/cpu/exec_context.cc index 7f7719bf0..0d3a80fe7 100644 --- a/cpu/exec_context.cc +++ b/cpu/exec_context.cc @@ -106,6 +106,7 @@ ExecContext::serialize(ostream &os) regs.serialize(os); // thread_num and cpu_id are deterministic from the config SERIALIZE_SCALAR(func_exe_inst); + SERIALIZE_SCALAR(inst); #ifdef FULL_SYSTEM bool ctx = false; @@ -143,6 +144,7 @@ ExecContext::unserialize(Checkpoint *cp, const std::string §ion) regs.unserialize(cp, section); // thread_num and cpu_id are deterministic from the config UNSERIALIZE_SCALAR(func_exe_inst); + UNSERIALIZE_SCALAR(inst); #ifdef FULL_SYSTEM bool ctx; @@ -233,3 +235,16 @@ ExecContext::regStats(const string &name) kernelStats.regStats(name + ".kern"); #endif } + +void +ExecContext::trap(Fault fault) +{ + //TheISA::trap(fault); //One possible way to do it... + + /** @todo: Going to hack it for now. Do a true fixup later. */ +#ifdef FULL_SYSTEM + ev5_trap(fault); +#else + fatal("fault (%d) detected @ PC 0x%08p", fault, readPC()); +#endif +} |