1/* 2 * Copyright (c) 2001-2006 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; --- 93 unchanged lines hidden (view full) --- 102 // pointer to CPU associated with this SimpleThread 103 BaseCPU *cpu; 104 105 ProxyThreadContext<SimpleThread> *tc; 106 107 System *system; 108 109#if FULL_SYSTEM |
110 TheISA::ITB *itb; 111 TheISA::DTB *dtb; |
112#endif 113 114 // constructor: initialize SimpleThread from given process structure 115#if FULL_SYSTEM 116 SimpleThread(BaseCPU *_cpu, int _thread_num, System *_system, |
117 TheISA::ITB *_itb, TheISA::DTB *_dtb, |
118 bool use_kernel_stats = true); 119#else 120 SimpleThread(BaseCPU *_cpu, int _thread_num, Process *_process, int _asid); 121#endif 122 123 SimpleThread(); 124 125 virtual ~SimpleThread(); --- 36 unchanged lines hidden (view full) --- 162 163 Fault translateDataWriteReq(RequestPtr &req) 164 { 165 return dtb->translate(req, tc, true); 166 } 167 168 void dumpFuncProfile(); 169 |
170 Fault hwrei(); 171 172 bool simPalCheck(int palFunc); 173#else 174 175 Fault translateInstReq(RequestPtr &req) 176 { 177 return process->pTable->translate(req); --- 16 unchanged lines hidden (view full) --- 194 195 BaseCPU *getCpuPtr() { return cpu; } 196 197 int getThreadNum() { return tid; } 198 199#if FULL_SYSTEM 200 System *getSystemPtr() { return system; } 201 |
202 TheISA::ITB *getITBPtr() { return itb; } |
203 |
204 TheISA::DTB *getDTBPtr() { return dtb; } |
205 206 FunctionalPort *getPhysPort() { return physPort; } 207 208 /** Return a virtual port. If no thread context is specified then a static 209 * port is returned. Otherwise a port is created and returned. It must be 210 * deleted by deleteVirtPort(). */ 211 VirtualPort *getVirtPort(ThreadContext *tc); 212 --- 202 unchanged lines hidden (view full) --- 415 regs.setNextNPC(val); 416 } 417 418 MiscReg readMiscReg(int misc_reg) 419 { 420 return regs.readMiscReg(misc_reg); 421 } 422 |
423 MiscReg readMiscRegWithEffect(int misc_reg) |
424 { |
425 return regs.readMiscRegWithEffect(misc_reg, tc); |
426 } 427 |
428 void setMiscReg(int misc_reg, const MiscReg &val) |
429 { 430 return regs.setMiscReg(misc_reg, val); 431 } 432 |
433 void setMiscRegWithEffect(int misc_reg, const MiscReg &val) |
434 { 435 return regs.setMiscRegWithEffect(misc_reg, val, tc); 436 } 437 438 unsigned readStCondFailures() { return storeCondFailures; } 439 440 void setStCondFailures(unsigned sc_failures) 441 { storeCondFailures = sc_failures; } --- 44 unchanged lines hidden --- |