cpu.hh (9023:e9201a7bce59) | cpu.hh (9176:6807aa361e80) |
---|---|
1/* 2 * Copyright (c) 2011 ARM Limited 3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 84 unchanged lines hidden (view full) --- 93 typedef TheISA::FloatRegBits FloatRegBits; 94 typedef TheISA::MiscReg MiscReg; 95 96 /** id attached to all issued requests */ 97 MasterID masterId; 98 public: 99 virtual void init(); 100 | 1/* 2 * Copyright (c) 2011 ARM Limited 3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 84 unchanged lines hidden (view full) --- 93 typedef TheISA::FloatRegBits FloatRegBits; 94 typedef TheISA::MiscReg MiscReg; 95 96 /** id attached to all issued requests */ 97 MasterID masterId; 98 public: 99 virtual void init(); 100 |
101 public: | |
102 typedef CheckerCPUParams Params; | 101 typedef CheckerCPUParams Params; |
103 const Params *params() const 104 { return reinterpret_cast<const Params *>(_params); } | |
105 CheckerCPU(Params *p); 106 virtual ~CheckerCPU(); 107 | 102 CheckerCPU(Params *p); 103 virtual ~CheckerCPU(); 104 |
108 std::vector<Process*> workload; 109 | |
110 void setSystem(System *system); 111 | 105 void setSystem(System *system); 106 |
112 System *systemPtr; 113 | |
114 void setIcachePort(CpuPort *icache_port); 115 | 107 void setIcachePort(CpuPort *icache_port); 108 |
116 CpuPort *icachePort; 117 | |
118 void setDcachePort(CpuPort *dcache_port); 119 | 109 void setDcachePort(CpuPort *dcache_port); 110 |
120 CpuPort *dcachePort; 121 | |
122 CpuPort &getDataPort() 123 { | 111 CpuPort &getDataPort() 112 { |
124 panic("Not supported on checker!"); | 113 // the checker does not have ports on its own so return the 114 // data port of the actual CPU core 115 assert(dcachePort); |
125 return *dcachePort; 126 } 127 128 CpuPort &getInstPort() 129 { | 116 return *dcachePort; 117 } 118 119 CpuPort &getInstPort() 120 { |
130 panic("Not supported on checker!"); | 121 // the checker does not have ports on its own so return the 122 // data port of the actual CPU core 123 assert(icachePort); |
131 return *icachePort; 132 } 133 | 124 return *icachePort; 125 } 126 |
134 public: 135 // Primary thread being run. 136 SimpleThread *thread; | 127 protected: |
137 | 128 |
129 std::vector<Process*> workload; 130 131 System *systemPtr; 132 133 CpuPort *icachePort; 134 CpuPort *dcachePort; 135 |
|
138 ThreadContext *tc; 139 140 TheISA::TLB *itb; 141 TheISA::TLB *dtb; 142 143 Addr dbg_vtophys(Addr addr); 144 145 union Result { --- 16 unchanged lines hidden (view full) --- 162 StaticInstPtr curMacroStaticInst; 163 164 // number of simulated instructions 165 Counter numInst; 166 Counter startNumInst; 167 168 std::queue<int> miscRegIdxs; 169 | 136 ThreadContext *tc; 137 138 TheISA::TLB *itb; 139 TheISA::TLB *dtb; 140 141 Addr dbg_vtophys(Addr addr); 142 143 union Result { --- 16 unchanged lines hidden (view full) --- 160 StaticInstPtr curMacroStaticInst; 161 162 // number of simulated instructions 163 Counter numInst; 164 Counter startNumInst; 165 166 std::queue<int> miscRegIdxs; 167 |
168 public: 169 170 // Primary thread being run. 171 SimpleThread *thread; 172 |
|
170 TheISA::TLB* getITBPtr() { return itb; } 171 TheISA::TLB* getDTBPtr() { return dtb; } 172 173 virtual Counter totalInsts() const 174 { 175 return 0; 176 } 177 --- 261 unchanged lines hidden --- | 173 TheISA::TLB* getITBPtr() { return itb; } 174 TheISA::TLB* getDTBPtr() { return dtb; } 175 176 virtual Counter totalInsts() const 177 { 178 return 0; 179 } 180 --- 261 unchanged lines hidden --- |