diff options
author | Korey Sewell <ksewell@umich.edu> | 2006-02-16 02:40:04 -0500 |
---|---|---|
committer | Korey Sewell <ksewell@umich.edu> | 2006-02-16 02:40:04 -0500 |
commit | e7d16b0aefec6543817762b6e5e389372a11b53c (patch) | |
tree | 2e90bf447049ece5fb234bfaf44c50515388744e /kern/kernel_stats.hh | |
parent | 7c9ea671aff141bc0a3e7acc892794e7e8181cf3 (diff) | |
parent | 00f451cc02373a22023f1e32ba3823a1d07adb42 (diff) | |
download | gem5-e7d16b0aefec6543817762b6e5e389372a11b53c.tar.xz |
Merge zizzer:/bk/multiarch
into zazzer.eecs.umich.edu:/z/ksewell/research/m5-sim/m5-multiarch
--HG--
extra : convert_revision : 17b164847aee7e21d15d1a9d99aae43f46906c28
Diffstat (limited to 'kern/kernel_stats.hh')
-rw-r--r-- | kern/kernel_stats.hh | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/kern/kernel_stats.hh b/kern/kernel_stats.hh index 62dd84a28..98cc044ac 100644 --- a/kern/kernel_stats.hh +++ b/kern/kernel_stats.hh @@ -41,7 +41,7 @@ class ExecContext; class FnEvent; // What does kernel stats expect is included? class System; -enum Fault; +class Fault; namespace Kernel { @@ -176,7 +176,14 @@ class Statistics : public Serializable void ivlb() { _ivlb++; } void ivle() { _ivle++; } void hwrei() { _hwrei++; } - void fault(Fault fault) { _faults[fault]++; } + void fault(Fault * fault) + { + if(fault == NoFault) _faults[0]++; + else if(fault == MachineCheckFault) _faults[2]++; + else if(fault == AlignmentFault) _faults[7]++; + else if(fault == FakeMemFault) _faults[17]++; + else _faults[fault->id]++; + }// FIXME: When there are no generic system fault objects, this will go back to _faults[fault]++; } void swpipl(int ipl); void mode(cpu_mode newmode); void context(Addr oldpcbb, Addr newpcbb); |