* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Authors: Lisa Hsu
- * Nathan Binkert
*/
#ifndef __KERNEL_STATS_HH__
#include <string>
-#include "cpu/static_inst.hh"
#include "sim/serialize.hh"
#include "sim/stats.hh"
-class BaseCPU;
-class ThreadContext;
-class FnEvent;
// What does kernel stats expect is included?
-class System;
-
namespace Kernel {
class Statistics : public Serializable
protected:
Stats::Scalar _arm;
Stats::Scalar _quiesce;
- Stats::Scalar _hwrei;
-
- Stats::Vector _iplCount;
- Stats::Vector _iplGood;
- Stats::Vector _iplTicks;
- Stats::Formula _iplUsed;
-
-#if THE_ISA == ALPHA_ISA
- Stats::Vector _syscall;
-#endif
-// Stats::Vector _faults;
-
- private:
- int iplLast;
- Tick iplLastTick;
public:
- Statistics(System *system);
virtual ~Statistics() {}
const std::string name() const { return myname; }
- void regStats(const std::string &name);
+ virtual void regStats(const std::string &name);
public:
void arm() { _arm++; }
void quiesce() { _quiesce++; }
- void swpipl(int ipl);
public:
- virtual void serialize(std::ostream &os);
- virtual void unserialize(Checkpoint *cp, const std::string §ion);
+ void serialize(CheckpointOut &cp) const override {}
+ void unserialize(CheckpointIn &cp) override {}
};
} // namespace Kernel