Lines Matching refs:tc

56 readRegOtherThread(ThreadContext *tc, const RegId &reg,
61 otc = tc->getCpuPtr()->getContext(tid);
63 otc = tc;
80 setRegOtherThread(ThreadContext *tc, const RegId& reg, RegVal val,
85 otc = tc->getCpuPtr()->getContext(tid);
87 otc = tc;
119 getVirtProcNum(TC *tc)
121 TCBindReg tcbind = tc->readMiscRegNoEffect(MISCREG_TC_BIND);
127 getTargetThread(TC *tc)
129 VPEControlReg vpeCtrl = tc->readMiscRegNoEffect(MISCREG_VPE_CONTROL);
135 haltThread(TC *tc)
137 if (tc->status() == TC::Active) {
138 tc->halt();
143 PCState pc = tc->pcState();
144 tc->setMiscReg(MISCREG_TC_RESTART, pc.npc());
147 curTick(), tc->threadId(), tc->getCpuPtr()->name(),
154 restoreThread(TC *tc)
156 if (tc->status() != TC::Active) {
158 Addr restartPC = tc->readMiscRegNoEffect(MISCREG_TC_RESTART);
161 tc->pcState(restartPC);
162 tc->activate();
165 curTick(), tc->threadId(), tc->getCpuPtr()->name(), restartPC);
171 forkThread(TC *tc, Fault &fault, int Rd_bits, int Rs, int Rt)
173 MVPConf0Reg mvpConf = tc->readMiscRegNoEffect(MISCREG_MVP_CONF0);
179 readRegOtherThread(tc, RegId(MiscRegClass, MISCREG_TC_BIND), tid);
180 TCBindReg tcBind = tc->readMiscRegNoEffect(MISCREG_TC_BIND);
185 readRegOtherThread(tc, RegId(MiscRegClass, MISCREG_TC_STATUS),
189 readRegOtherThread(tc, RegId(MiscRegClass, MISCREG_TC_HALT),
195 setRegOtherThread(tc, RegId(MiscRegClass, MISCREG_TC_RESTART),
197 setRegOtherThread(tc, RegId(IntRegClass, Rd_bits), Rt, tid);
199 StatusReg status = tc->readMiscReg(MISCREG_STATUS);
200 TCStatusReg tcStatus = tc->readMiscReg(MISCREG_TC_STATUS);
216 setRegOtherThread(tc, RegId(MiscRegClass, MISCREG_TC_STATUS),
229 tc->readMiscRegNoEffect(MISCREG_VPE_CONTROL);
231 tc->setMiscReg(MISCREG_VPE_CONTROL, vpeControl);
239 yieldThread(TC *tc, Fault &fault, int src_reg, uint32_t yield_mask)
242 MVPConf0Reg mvpConf0 = tc->readMiscRegNoEffect(MISCREG_MVP_CONF0);
248 TCBindReg tcBind = tc->readMiscRegNoEffect(MISCREG_TC_BIND);
252 readRegOtherThread(tc, RegId(MiscRegClass, MISCREG_TC_STATUS),
255 readRegOtherThread(tc, RegId(MiscRegClass, MISCREG_TC_HALT),
258 readRegOtherThread(tc, RegId(MiscRegClass, MISCREG_TC_BIND),
271 TCStatusReg tcStatus = tc->readMiscRegNoEffect(MISCREG_TC_STATUS);
273 tc->setMiscReg(MISCREG_TC_STATUS, tcStatus);
275 curTick(), tc->threadId());
279 VPEControlReg vpeControl = tc->readMiscReg(MISCREG_VPE_CONTROL);
281 tc->setMiscReg(MISCREG_VPE_CONTROL, vpeControl);
286 TCStatusReg tcStatus = tc->readMiscRegNoEffect(MISCREG_TC_STATUS);
288 tc->readMiscRegNoEffect(MISCREG_VPE_CONTROL);
305 updateStatusView(TC *tc)
309 TCStatusReg tcStatus = tc->readMiscRegNoEffect(MISCREG_TC_STATUS);
310 StatusReg status = tc->readMiscRegNoEffect(MISCREG_STATUS);
316 tc->setMiscRegNoEffect(MISCREG_STATUS, status);
323 updateTCStatusView(TC *tc)
327 TCStatusReg tcStatus = tc->readMiscRegNoEffect(MISCREG_TC_STATUS);
328 StatusReg status = tc->readMiscRegNoEffect(MISCREG_STATUS);
334 tc->setMiscRegNoEffect(MISCREG_TC_STATUS, tcStatus);