cpu.cc (6711:c79d72abdbe5) cpu.cc (7507:b1ac6773e83d)
1/*
2 * Copyright (c) 2004-2006 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 1129 unchanged lines hidden (view full) ---

1138 BaseCPU::takeOverFrom(oldCPU, fetch.getIcachePort(), iew.getDcachePort());
1139
1140 fetch.takeOverFrom();
1141 decode.takeOverFrom();
1142 rename.takeOverFrom();
1143 iew.takeOverFrom();
1144 commit.takeOverFrom();
1145
1/*
2 * Copyright (c) 2004-2006 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 1129 unchanged lines hidden (view full) ---

1138 BaseCPU::takeOverFrom(oldCPU, fetch.getIcachePort(), iew.getDcachePort());
1139
1140 fetch.takeOverFrom();
1141 decode.takeOverFrom();
1142 rename.takeOverFrom();
1143 iew.takeOverFrom();
1144 commit.takeOverFrom();
1145
1146 assert(!tickEvent.scheduled());
1146 assert(!tickEvent.scheduled() || tickEvent.squashed());
1147
1148 // @todo: Figure out how to properly select the tid to put onto
1149 // the active threads list.
1150 ThreadID tid = 0;
1151
1152 list<ThreadID>::iterator isActive =
1153 std::find(activeThreads.begin(), activeThreads.end(), tid);
1154

--- 8 unchanged lines hidden (view full) ---

1163
1164 // Set all statuses to active, schedule the CPU's tick event.
1165 // @todo: Fix up statuses so this is handled properly
1166 ThreadID size = threadContexts.size();
1167 for (ThreadID i = 0; i < size; ++i) {
1168 ThreadContext *tc = threadContexts[i];
1169 if (tc->status() == ThreadContext::Active && _status != Running) {
1170 _status = Running;
1147
1148 // @todo: Figure out how to properly select the tid to put onto
1149 // the active threads list.
1150 ThreadID tid = 0;
1151
1152 list<ThreadID>::iterator isActive =
1153 std::find(activeThreads.begin(), activeThreads.end(), tid);
1154

--- 8 unchanged lines hidden (view full) ---

1163
1164 // Set all statuses to active, schedule the CPU's tick event.
1165 // @todo: Fix up statuses so this is handled properly
1166 ThreadID size = threadContexts.size();
1167 for (ThreadID i = 0; i < size; ++i) {
1168 ThreadContext *tc = threadContexts[i];
1169 if (tc->status() == ThreadContext::Active && _status != Running) {
1170 _status = Running;
1171 schedule(tickEvent, nextCycle());
1171 reschedule(tickEvent, nextCycle(), true);
1172 }
1173 }
1174 if (!tickEvent.scheduled())
1175 schedule(tickEvent, nextCycle());
1176}
1177
1178template <class Impl>
1179TheISA::MiscReg

--- 485 unchanged lines hidden ---
1172 }
1173 }
1174 if (!tickEvent.scheduled())
1175 schedule(tickEvent, nextCycle());
1176}
1177
1178template <class Impl>
1179TheISA::MiscReg

--- 485 unchanged lines hidden ---