Cleaned up some of the Fault system.

arch/alpha/ev5.cc:
    Commented out the intr_post function since it's not used. If this really -is- needed, it should be moved into the fault class.
arch/alpha/faults.cc:
arch/alpha/faults.hh:
    Moved the fault invocation code into the fault class fully, and got rid of the need for isA.
cpu/exec_context.cc:
cpu/exec_context.hh:
    Removed the trap function from the ExecContext. The faults will execute normally in full system mode, but always panic in syscall emulation mode.
cpu/ozone/cpu.hh:
cpu/simple/cpu.hh:
    Changed the execution context executing a fault to a fault executing on the execution context.
sim/faults.cc:
    If not in full system mode, trying to invoke a fault causes a panic.
sim/faults.hh:
    Removed the isA function.

--HG--
extra : convert_revision : 894dc8f0755c8efc4b7ef5a09fb2cf7373042395
This commit is contained in:
Gabe Black
2006-03-01 05:26:08 -05:00
parent 1cfc277424
commit 2eff368dd0
9 changed files with 44 additions and 32 deletions

View File

@@ -220,15 +220,3 @@ ExecContext::regStats(const string &name)
#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. */
#if FULL_SYSTEM
fault->invoke(this);
#else
fatal("fault (%d) detected @ PC 0x%08p", fault, readPC());
#endif
}