Lines Matching refs:thread_id

324     ThreadID thread_id = inst->id.threadId;
325 ThreadContext *thread = cpu.getContext(thread_id);
327 ExecContext context(cpu, *cpu.threads[thread_id], *this, inst);
412 Execute::isInterrupted(ThreadID thread_id) const
414 return cpu.checkInterrupts(cpu.getContext(thread_id));
418 Execute::takeInterrupt(ThreadID thread_id, BranchData &branch)
421 cpu.getContext(thread_id)->pcState());
423 Fault interrupt = cpu.getInterruptController(thread_id)->getInterrupt
424 (cpu.getContext(thread_id));
428 cpu.getInterruptController(thread_id)->updateIntrInfo
429 (cpu.getContext(thread_id));
430 interrupt->invoke(cpu.getContext(thread_id));
435 interrupt->name(), cpu.getContext(thread_id)->pcState());
439 updateBranchData(thread_id, BranchData::Interrupt,
440 MinorDynInst::bubble(), cpu.getContext(thread_id)->pcState(),
543 Execute::issue(ThreadID thread_id)
545 const ForwardInstData *insts_in = getInput(thread_id);
546 ExecuteThreadInfo &thread = executeInfo[thread_id];
580 } else if (cpu.getContext(thread_id)->status() ==
627 scoreboard[thread_id].markupInstDests(inst, cpu.curCycle() +
628 Cycles(0), cpu.getContext(thread_id), false);
674 } else if (!scoreboard[thread_id].canInstIssue(inst,
676 cpu.curCycle(), cpu.getContext(thread_id)))
717 scoreboard[thread_id].execSeqNumToWaitFor(inst,
718 cpu.getContext(thread_id));
720 if (lsq.getLastMemBarrier(thread_id) >
727 lsq.getLastMemBarrier(thread_id));
730 lsq.getLastMemBarrier(thread_id);
755 scoreboard[thread_id].markupInstDests(inst, cpu.curCycle() +
759 cpu.getContext(thread_id),
814 popInput(thread_id);
821 insts_in = getInput(thread_id);
835 Execute::tryPCEvents(ThreadID thread_id)
837 ThreadContext *thread = cpu.getContext(thread_id);
894 ThreadID thread_id = inst->id.threadId;
895 ThreadContext *thread = cpu.getContext(thread_id);
903 !isInterrupted(thread_id))
908 ExecContext context(cpu, *cpu.threads[thread_id], *this, inst);
969 ExecContext context(cpu, *cpu.threads[thread_id], *this, inst);
996 executeInfo[thread_id].lastPredictionSeqNum = inst->id.predictionSeqNum;
1002 !isInterrupted(thread_id)) /* Don't suspend if we have
1005 TheISA::PCState resume_pc = cpu.getContext(thread_id)->pcState();
1010 " inst: %s\n", thread_id, *inst);
1014 updateBranchData(thread_id, BranchData::SuspendThread, inst,
1023 Execute::commit(ThreadID thread_id, bool only_commit_microops, bool discard,
1028 ExecuteThreadInfo &ex_info = executeInfo[thread_id];
1118 if (isInbetweenInsts(thread_id) && tryPCEvents(thread_id)) {
1119 ThreadContext *thread = cpu.getContext(thread_id);
1122 updateBranchData(thread_id, BranchData::UnpredictedBranch,
1245 ThreadContext *thread = cpu.getContext(thread_id);
1276 lsq.getLastMemBarrier(thread_id) <
1278 lsq.getLastMemBarrier(thread_id) != 0)
1370 scoreboard[thread_id].clearInstDests(inst, inst->isMemRef());
1406 Execute::isInbetweenInsts(ThreadID thread_id) const
1408 return executeInfo[thread_id].lastCommitWasEndOfMacroop &&
1634 Execute::hasInterrupt(ThreadID thread_id)
1636 if (FullSystem && cpu.getInterruptController(thread_id)) {
1637 return executeInfo[thread_id].drainState == NotDraining &&
1638 isInterrupted(thread_id);
1809 Execute::setDrainState(ThreadID thread_id, DrainState state)
1811 DPRINTF(Drain, "setDrainState[%d]: %s\n", thread_id, state);
1812 executeInfo[thread_id].drainState = state;