summaryrefslogtreecommitdiff
path: root/kern
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2006-03-07 04:31:38 -0500
committerGabe Black <gblack@eecs.umich.edu>2006-03-07 04:31:38 -0500
commitb5111285078cf790a2330c725b63fbc1f791db14 (patch)
treefa23e2984b8ddc29c5304362550ac58802e9ac03 /kern
parentb7ebc2d97f54e1f1cb6a2a7d33daa3d4fe6e0107 (diff)
downloadgem5-b5111285078cf790a2330c725b63fbc1f791db14.tar.xz
Some clean up work with faults.
arch/alpha/faults.cc: Renamed the _stat stat to a more descriptive _count, got rid of some old commented out code, and moved common fault handling code, ie recording that the fault happend and that it wasn't mispeculated, into the FaultBase class. arch/alpha/faults.hh: Renamed the _stat stat to the more descriptive _count, and renamed the appropriate accessor functions. kern/kernel_stats.cc: kern/kernel_stats.hh: The fault statistics are now handled by the fault classes themselves. sim/faults.cc: The default implementation of the "invoke" method now does what all faults should do first, ie record that the fault happened, and make sure the fault isn't being executed on a mispeculated execution path. sim/faults.hh: There is now a default implementation of invoke, and the stat function is taken care of in the architecture specific fault classes. --HG-- extra : convert_revision : f6656fbea991df9addf85cad740ac37b1036b71a
Diffstat (limited to 'kern')
-rw-r--r--kern/kernel_stats.cc13
-rw-r--r--kern/kernel_stats.hh5
2 files changed, 0 insertions, 18 deletions
diff --git a/kern/kernel_stats.cc b/kern/kernel_stats.cc
index 33485ca15..f898dad94 100644
--- a/kern/kernel_stats.cc
+++ b/kern/kernel_stats.cc
@@ -136,19 +136,6 @@ Statistics::regStats(const string &_name)
}
}
-/* _faults
- .init(NumFaults)
- .name(name() + ".faults")
- .desc("number of faults")
- .flags(total | pdf | nozero | nonan)
- ;
-
- for (int i = 1; i < NumFaults; ++i) {
- const char *str = (*ListOfFaults[i])->name;
- if (str)
- _faults.subname(i, str);
- }*/
-
_mode
.init(cpu_mode_num)
.name(name() + ".mode_switch")
diff --git a/kern/kernel_stats.hh b/kern/kernel_stats.hh
index 4896a0705..830bfe09d 100644
--- a/kern/kernel_stats.hh
+++ b/kern/kernel_stats.hh
@@ -176,11 +176,6 @@ class Statistics : public Serializable
void ivlb() { _ivlb++; }
void ivle() { _ivle++; }
void hwrei() { _hwrei++; }
- void fault(Fault fault)
- {
- if(fault != NoFault)
- fault->stat()++;
- }// 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);