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:
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user