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; --- 450 unchanged lines hidden (view full) --- 459 DPRINTF(O3CPU, "Switched out!\n"); 460 // increment stat 461 lastRunningCycle = curTick; 462 } else if (!activityRec.active() || _status == Idle) { 463 DPRINTF(O3CPU, "Idle!\n"); 464 lastRunningCycle = curTick; 465 timesIdled++; 466 } else { |
467 tickEvent.schedule(nextCycle(curTick + ticks(1))); |
468 DPRINTF(O3CPU, "Scheduling next tick!\n"); 469 } 470 } 471 472#if !FULL_SYSTEM 473 updateThreadPriority(); 474#endif 475 --- 77 unchanged lines hidden (view full) --- 553 554template <class Impl> 555void 556FullO3CPU<Impl>::activateContext(int tid, int delay) 557{ 558 // Needs to set each stage to running as well. 559 if (delay){ 560 DPRINTF(O3CPU, "[tid:%i]: Scheduling thread context to activate " |
561 "on cycle %d\n", tid, curTick + ticks(delay)); |
562 scheduleActivateThreadEvent(tid, delay); 563 } else { 564 activateThread(tid); 565 } 566 567 if (lastActivatedCycle < curTick) { 568 scheduleTickEvent(delay); 569 --- 10 unchanged lines hidden (view full) --- 580 581template <class Impl> 582bool 583FullO3CPU<Impl>::deallocateContext(int tid, bool remove, int delay) 584{ 585 // Schedule removal of thread data from CPU 586 if (delay){ 587 DPRINTF(O3CPU, "[tid:%i]: Scheduling thread context to deallocate " |
588 "on cycle %d\n", tid, curTick + ticks(delay)); |
589 scheduleDeallocateContextEvent(tid, remove, delay); 590 return false; 591 } else { 592 deactivateThread(tid); 593 if (remove) 594 removeThread(tid); 595 return true; 596 } --- 873 unchanged lines hidden --- |