cpu.hh (2757:58e3a66e72f7) | cpu.hh (2817:273f7fb94f83) |
---|---|
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" | 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" |
|
52#include "sim/process.hh" 53 54template <class> 55class Checker; 56class ThreadContext; | 53#include "sim/process.hh" 54 55template <class> 56class Checker; 57class ThreadContext; |
58template <class> 59class O3ThreadContext; |
|
57class MemObject; 58class Process; 59 60class BaseO3CPU : public BaseCPU 61{ 62 //Stuff that's pretty ISA independent will go here. 63 public: 64 typedef BaseCPU::Params Params; 65 66 BaseO3CPU(Params *params); 67 68 void regStats(); 69 | 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. */ |
|
70 int readCpuId() { return cpu_id; } 71 72 protected: 73 int cpu_id; 74}; 75 76/** 77 * FullO3CPU class, has each of the stages (fetch through commit) --- 11 unchanged lines hidden (view full) --- 89 typedef typename Impl::CPUPol CPUPolicy; 90 typedef typename Impl::Params Params; 91 typedef typename Impl::DynInstPtr DynInstPtr; 92 93 typedef O3ThreadState<Impl> Thread; 94 95 typedef typename std::list<DynInstPtr>::iterator ListIt; 96 | 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>; |
|
97 public: 98 enum Status { 99 Running, 100 Idle, 101 Halted, 102 Blocked, 103 SwitchedOut 104 }; --- 440 unchanged lines hidden --- | 105 public: 106 enum Status { 107 Running, 108 Idle, 109 Halted, 110 Blocked, 111 SwitchedOut 112 }; --- 440 unchanged lines hidden --- |