1/* 2 * Copyright (c) 2011-2012, 2014, 2016, 2017 ARM Limited 3 * Copyright (c) 2013 Advanced Micro Devices, Inc. 4 * All rights reserved 5 * 6 * The license below extends only to copyright in the software and shall 7 * not be construed as granting a license to any other intellectual 8 * property including but not limited to intellectual property relating --- 554 unchanged lines hidden (view full) --- 563void 564FullO3CPU<Impl>::tick() 565{ 566 DPRINTF(O3CPU, "\n\nFullO3CPU: Ticking main, FullO3CPU.\n"); 567 assert(!switchedOut()); 568 assert(drainState() != DrainState::Drained); 569 570 ++numCycles; |
571 updateCycleCounters(BaseCPU::CPU_STATE_ON); |
572 573// activity = false; 574 575 //Tick each of the stages 576 fetch.tick(); 577 578 decode.tick(); 579 --- 211 unchanged lines hidden (view full) --- 791FullO3CPU<Impl>::haltContext(ThreadID tid) 792{ 793 //For now, this is the same as deallocate 794 DPRINTF(O3CPU,"[tid:%i]: Halt Context called. Deallocating", tid); 795 assert(!switchedOut()); 796 797 deactivateThread(tid); 798 removeThread(tid); |
799 800 updateCycleCounters(BaseCPU::CPU_STATE_SLEEP); |
801} 802 803template <class Impl> 804void 805FullO3CPU<Impl>::insertThread(ThreadID tid) 806{ 807 DPRINTF(O3CPU,"[tid:%i] Initializing thread into CPU"); 808 // Will change now that the PC and thread state is internal to the CPU --- 959 unchanged lines hidden (view full) --- 1768 DPRINTF(Activity, "Waking up CPU\n"); 1769 1770 Cycles cycles(curCycle() - lastRunningCycle); 1771 // @todo: This is an oddity that is only here to match the stats 1772 if (cycles > 1) { 1773 --cycles; 1774 idleCycles += cycles; 1775 numCycles += cycles; |
1776 } 1777 1778 schedule(tickEvent, clockEdge()); 1779} 1780 1781template <class Impl> 1782void 1783FullO3CPU<Impl>::wakeup(ThreadID tid) --- 43 unchanged lines hidden --- |