Lines Matching refs:thread
160 thread.resize(numThreads);
308 // Setup any thread state.
309 this->thread.resize(this->numThreads);
315 this->thread[tid] = new Thread(this, 0, NULL);
319 tid, this->thread[tid]);
320 this->thread[tid] = new typename FullO3CPU<Impl>::Thread(
327 //Allocate Empty thread so M5 can use later
331 this->thread[tid] = new typename FullO3CPU<Impl>::Thread(
354 o3_tc->thread = this->thread[tid];
357 this->thread[tid]->quiesceEvent = new EndQuiesceEvent(tc);
359 // Give the thread the TC.
360 this->thread[tid]->tc = tc;
373 this->thread[tid]->setFuncExeInst(0);
597 thread[tid]->noSquashFromTC = true;
599 thread[tid]->initMemProxies(thread[tid]->getTC());
611 thread[tid]->noSquashFromTC = false;
613 commit.setThreads(thread);
638 DPRINTF(O3CPU, "[tid:%i] Calling activate thread.\n", tid);
657 DPRINTF(O3CPU, "[tid:%i] Calling deactivate thread.\n", tid);
676 ThreadID size = thread.size();
678 total += thread[i]->numInst;
689 ThreadID size = thread.size();
691 total += thread[i]->numOp;
706 // we just want to flag the thread as active and schedule the tick
744 // If this was the last thread then unschedule the tick event.
774 DPRINTF(O3CPU,"[tid:%i] Initializing thread into CPU");
775 // Will change now that the PC and thread state is internal to the CPU
826 DPRINTF(O3CPU,"[tid:%i] Removing thread context from CPU.\n", tid);
829 // If thread is suspended, it might be re-allocated
837 // clear all thread-specific states in each stage of the pipeline
838 // since this thread is going to be completely removed from the CPU
846 // either committed successfully or squashed. All thread-specific
898 // exists within isa_fullsys_traits.hh. Also assume that thread 0
915 // Pass the thread's TC into the invoke method.
929 ++(this->thread[tid]->funcExeInst);
932 this->thread[tid]->syscall(callnum, fault);
936 --(this->thread[tid]->funcExeInst);
943 thread[tid]->serialize(cp);
950 thread[tid]->unserialize(cp);
977 // If a thread is suspended, wake it up so it can be drained
983 // As the thread is now active, change the power state as well
1104 for (ThreadID i = 0; i < thread.size(); i++) {
1105 if (thread[i]->status() == ThreadContext::Active) {
1106 DPRINTF(Drain, "Activating thread: %i\n", i);
1499 this->thread[tid]->noSquashFromTC = true;
1518 thread[tid]->numInst++;
1519 thread[tid]->numInsts++;
1524 comInstEventQueue[tid]->serviceEvents(thread[tid]->numInst);
1527 thread[tid]->numOp++;
1528 thread[tid]->numOps++;
1723 if (this->thread[tid]->status() != ThreadContext::Suspended)
1752 //e.g. Move highest priority to end of thread list
1769 // the thread trying to exit can't be already halted
1772 // make sure the thread has not been added to the list yet
1775 // add the thread to exitingThreads list to mark that this thread is
1776 // trying to exit. The boolean value in the pair denotes if a thread is
1777 // ready to exit. The thread is not ready to exit until the corresponding
1779 // an active thread that is trying to exit.
1796 // exit trap event has been processed. Now, the thread is ready to exit
1801 // up the thread's states in the pipeline. threadExitEvent has lower
1815 // there must be at least one thread trying to exit
1825 DPRINTF(O3CPU, "Exiting thread %d\n", thread_id);