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; --- 35 unchanged lines hidden (view full) --- 44#include "config/full_system.hh" 45#include "cpu/activity.hh" 46#include "cpu/base.hh" 47#include "cpu/simple_thread.hh" 48#include "cpu/o3/comm.hh" 49#include "cpu/o3/cpu_policy.hh" 50#include "cpu/o3/scoreboard.hh" 51#include "cpu/o3/thread_state.hh" |
52//#include "cpu/o3/thread_context.hh" |
53#include "sim/process.hh" 54 55template <class> 56class Checker; 57class ThreadContext; |
58template <class> 59class O3ThreadContext; |
60class MemObject; 61class Process; 62 63class BaseO3CPU : public BaseCPU 64{ 65 //Stuff that's pretty ISA independent will go here. 66 public: 67 typedef BaseCPU::Params Params; 68 69 BaseO3CPU(Params *params); 70 71 void regStats(); 72 |
73 /** Sets this CPU's ID. */ 74 void setCpuId(int id) { cpu_id = id; } 75 76 /** Reads this CPU's ID. */ |
77 int readCpuId() { return cpu_id; } 78 79 protected: 80 int cpu_id; 81}; 82 83/** 84 * FullO3CPU class, has each of the stages (fetch through commit) --- 11 unchanged lines hidden (view full) --- 96 typedef typename Impl::CPUPol CPUPolicy; 97 typedef typename Impl::Params Params; 98 typedef typename Impl::DynInstPtr DynInstPtr; 99 100 typedef O3ThreadState<Impl> Thread; 101 102 typedef typename std::list<DynInstPtr>::iterator ListIt; 103 |
104 friend class O3ThreadContext<Impl>; |
105 public: 106 enum Status { 107 Running, 108 Idle, 109 Halted, 110 Blocked, 111 SwitchedOut 112 }; --- 440 unchanged lines hidden --- |