1/* 2 * Copyright (c) 2010 ARM Limited 3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 738 unchanged lines hidden (view full) --- 747 // Need to wait for cache to respond 748 _status = IcacheWaitResponse; 749 // ownership of packet transferred to memory system 750 ifetch_pkt = NULL; 751 } 752 } else { 753 delete req; 754 // fetch fault: advance directly to next instruction (fault handler) |
755 _status = Running; |
756 advanceInst(fault); 757 } 758 759 numCycles += tickToCycles(curTick() - previousTick); 760 previousTick = curTick(); 761} 762 763 --- 37 unchanged lines hidden (view full) --- 801 completeDrain(); 802 return; 803 } 804 805 preExecute(); 806 if (curStaticInst && curStaticInst->isMemRef()) { 807 // load or store: just send to dcache 808 Fault fault = curStaticInst->initiateAcc(this, traceData); |
809 810 // If we're not running now the instruction will complete in a dcache 811 // response callback or the instruction faulted and has started an 812 // ifetch 813 if (_status == Running) { |
814 if (fault != NoFault && traceData) { 815 // If there was a fault, we shouldn't trace this instruction. 816 delete traceData; 817 traceData = NULL; 818 } 819 820 postExecute(); 821 // @todo remove me after debugging with legion done --- 298 unchanged lines hidden --- |