cpu.hh (2698:d5f35d41e017) cpu.hh (2733:e0eac8fc5774)
1/*
2 * Copyright (c) 2004-2005 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 42 unchanged lines hidden (view full) ---

51#include "sim/process.hh"
52
53template <class>
54class Checker;
55class ThreadContext;
56class MemObject;
57class Process;
58
1/*
2 * Copyright (c) 2004-2005 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 42 unchanged lines hidden (view full) ---

51#include "sim/process.hh"
52
53template <class>
54class Checker;
55class ThreadContext;
56class MemObject;
57class Process;
58
59class BaseFullCPU : public BaseCPU
59class BaseO3CPU : public BaseCPU
60{
61 //Stuff that's pretty ISA independent will go here.
62 public:
63 typedef BaseCPU::Params Params;
64
60{
61 //Stuff that's pretty ISA independent will go here.
62 public:
63 typedef BaseCPU::Params Params;
64
65 BaseFullCPU(Params *params);
65 BaseO3CPU(Params *params);
66
67 void regStats();
68
69 int readCpuId() { return cpu_id; }
70
71 protected:
72 int cpu_id;
73};
74
75/**
76 * FullO3CPU class, has each of the stages (fetch through commit)
77 * within it, as well as all of the time buffers between stages. The
78 * tick() function for the CPU is defined here.
79 */
80template <class Impl>
66
67 void regStats();
68
69 int readCpuId() { return cpu_id; }
70
71 protected:
72 int cpu_id;
73};
74
75/**
76 * FullO3CPU class, has each of the stages (fetch through commit)
77 * within it, as well as all of the time buffers between stages. The
78 * tick() function for the CPU is defined here.
79 */
80template <class Impl>
81class FullO3CPU : public BaseFullCPU
81class FullO3CPU : public BaseO3CPU
82{
83 public:
84 typedef TheISA::FloatReg FloatReg;
85 typedef TheISA::FloatRegBits FloatRegBits;
86
87 // Typedefs from the Impl here.
88 typedef typename Impl::CPUPol CPUPolicy;
89 typedef typename Impl::Params Params;

--- 448 unchanged lines hidden ---
82{
83 public:
84 typedef TheISA::FloatReg FloatReg;
85 typedef TheISA::FloatRegBits FloatRegBits;
86
87 // Typedefs from the Impl here.
88 typedef typename Impl::CPUPol CPUPolicy;
89 typedef typename Impl::Params Params;

--- 448 unchanged lines hidden ---