For now, halt context is the same as deallocating.
suspend context will now take the thread off the activeThread list. src/arch/mips/isa_traits.cc: add in copy MiscRegs unimplemented function --HG-- extra : convert_revision : 3ed5320b3786f84d4bb242e3a32b6f415339c3ba
This commit is contained in:
parent
f1a7e0d3b3
commit
b2c51d064b
2 changed files with 12 additions and 26 deletions
|
@ -45,6 +45,12 @@ MipsISA::copyRegs(ThreadContext *src, ThreadContext *dest)
|
||||||
panic("Copy Regs Not Implemented Yet\n");
|
panic("Copy Regs Not Implemented Yet\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
MipsISA::copyMiscRegs(ThreadContext *src, ThreadContext *dest)
|
||||||
|
{
|
||||||
|
panic("Copy Misc. Regs Not Implemented Yet\n");
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
MipsISA::MiscRegFile::copyMiscRegs(ThreadContext *tc)
|
MipsISA::MiscRegFile::copyMiscRegs(ThreadContext *tc)
|
||||||
{
|
{
|
||||||
|
|
|
@ -577,39 +577,19 @@ void
|
||||||
FullO3CPU<Impl>::suspendContext(int tid)
|
FullO3CPU<Impl>::suspendContext(int tid)
|
||||||
{
|
{
|
||||||
DPRINTF(O3CPU,"[tid: %i]: Suspending Thread Context.\n", tid);
|
DPRINTF(O3CPU,"[tid: %i]: Suspending Thread Context.\n", tid);
|
||||||
unscheduleTickEvent();
|
deactivateThread();
|
||||||
|
if (activeThreads.size() == 0)
|
||||||
|
unscheduleTickEvent();
|
||||||
_status = Idle;
|
_status = Idle;
|
||||||
/*
|
|
||||||
//Remove From Active List, if Active
|
|
||||||
list<unsigned>::iterator isActive = find(
|
|
||||||
activeThreads.begin(), activeThreads.end(), tid);
|
|
||||||
|
|
||||||
if (isActive != activeThreads.end()) {
|
|
||||||
DPRINTF(O3CPU,"[tid:%i]: Removing from active threads list\n",
|
|
||||||
tid);
|
|
||||||
activeThreads.erase(isActive);
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class Impl>
|
template <class Impl>
|
||||||
void
|
void
|
||||||
FullO3CPU<Impl>::haltContext(int tid)
|
FullO3CPU<Impl>::haltContext(int tid)
|
||||||
{
|
{
|
||||||
DPRINTF(O3CPU,"[tid:%i]: Halting Thread Context", tid);
|
//For now, this is the same as deallocate
|
||||||
/*
|
DPRINTF(O3CPU,"[tid:%i]: Halt Context called. Deallocating", tid);
|
||||||
//Remove From Active List, if Active
|
deallocateContext(tid, 1);
|
||||||
list<unsigned>::iterator isActive = find(
|
|
||||||
activeThreads.begin(), activeThreads.end(), tid);
|
|
||||||
|
|
||||||
if (isActive != activeThreads.end()) {
|
|
||||||
DPRINTF(O3CPU,"[tid:%i]: Removing from active threads list\n",
|
|
||||||
tid);
|
|
||||||
activeThreads.erase(isActive);
|
|
||||||
|
|
||||||
removeThread(tid);
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class Impl>
|
template <class Impl>
|
||||||
|
|
Loading…
Reference in a new issue