/*
- * Copyright (c) 2003 The Regents of The University of Michigan
+ * Copyright (c) 2004-2005 The Regents of The University of Michigan
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
#include <string>
#include <vector>
-#include "base/statistics.hh"
-#include "sim/serialize.hh"
-#include "targetarch/isa_traits.hh"
+#include "cpu/static_inst.hh"
class BaseCPU;
class ExecContext;
class FnEvent;
// What does kernel stats expect is included?
-class StaticInstBase;
class System;
-enum Fault;
namespace Kernel {
cpu_mode themode;
void palSwapContext(ExecContext *xc);
- void execute(ExecContext *xc, const StaticInstBase *inst);
+ void execute(ExecContext *xc, StaticInstPtr inst);
void call(ExecContext *xc, Stats::MainBin *myBin);
void changeMode(cpu_mode mode);
class Statistics : public Serializable
{
+ private:
friend class Binning;
private:
Stats::Vector<> _callpal;
Stats::Vector<> _syscall;
- Stats::Vector<> _faults;
+// Stats::Vector<> _faults;
Stats::Vector<> _mode;
Stats::Vector<> _modeGood;
void ivlb() { _ivlb++; }
void ivle() { _ivle++; }
void hwrei() { _hwrei++; }
- void fault(Fault fault) { _faults[fault]++; }
+ 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);