== activeThreads.end()) {
activeThreads.push_back(thread_num);
}
-
- BaseCPU::activateContext(thread_num);
}
deschedule(fetchEvent);
}
}
-
- BaseCPU::suspendContext(thread_num);
}
bool
Fault fault;
const int asid = 0;
+ const ThreadID tid = curThread;
const Addr pc = thread->instAddr();
unsigned block_size = cacheLineSize();
BaseTLB::Mode mode = BaseTLB::Read;
if (traceData)
traceData->setMem(addr, size, flags);
- RequestPtr req = new Request(asid, addr, size, flags, dataMasterId(), pc,
- thread->contextId());
+ RequestPtr req = new Request(asid, addr, size,
+ flags, dataMasterId(), pc,
+ thread->contextId(), tid);
req->taskId(taskId());
uint8_t *newData = new uint8_t[size];
const int asid = 0;
+ const ThreadID tid = curThread;
const Addr pc = thread->instAddr();
unsigned block_size = cacheLineSize();
BaseTLB::Mode mode = BaseTLB::Write;
if (traceData)
traceData->setMem(addr, size, flags);
- RequestPtr req = new Request(asid, addr, size, flags, dataMasterId(), pc,
- thread->contextId());
+ RequestPtr req = new Request(asid, addr, size,
+ flags, dataMasterId(), pc,
+ thread->contextId(), tid);
req->taskId(taskId());
_status = BaseSimpleCPU::Running;
Request *ifetch_req = new Request();
ifetch_req->taskId(taskId());
- ifetch_req->setContext(thread->contextId());
+ ifetch_req->setThreadContext(thread->contextId(), curThread);
setupFetchRequest(ifetch_req);
DPRINTF(SimpleCPU, "Translating address %#x\n", ifetch_req->getVaddr());
thread->itb->translateTiming(ifetch_req, thread->getTC(),