timing.cc (9837:13a21202375d) timing.cc (10020:2f33cb012383)
1/*
2 * Copyright (c) 2010-2012 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

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

641void
642TimingSimpleCPU::completeIfetch(PacketPtr pkt)
643{
644 DPRINTF(SimpleCPU, "Complete ICache Fetch for addr %#x\n", pkt ?
645 pkt->getAddr() : 0);
646
647 // received a response from the icache: execute the received
648 // instruction
1/*
2 * Copyright (c) 2010-2012 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

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

641void
642TimingSimpleCPU::completeIfetch(PacketPtr pkt)
643{
644 DPRINTF(SimpleCPU, "Complete ICache Fetch for addr %#x\n", pkt ?
645 pkt->getAddr() : 0);
646
647 // received a response from the icache: execute the received
648 // instruction
649
650 assert(!pkt || !pkt->isError());
651 assert(_status == IcacheWaitResponse);
652
653 _status = BaseSimpleCPU::Running;
654
655 numCycles += curCycle() - previousCycle;
656 previousCycle = curCycle();
657
649 assert(!pkt || !pkt->isError());
650 assert(_status == IcacheWaitResponse);
651
652 _status = BaseSimpleCPU::Running;
653
654 numCycles += curCycle() - previousCycle;
655 previousCycle = curCycle();
656
657 if (pkt)
658 pkt->req->setAccessLatency();
659
660
658 preExecute();
659 if (curStaticInst && curStaticInst->isMemRef()) {
660 // load or store: just send to dcache
661 Fault fault = curStaticInst->initiateAcc(this, traceData);
662
663 // If we're not running now the instruction will complete in a dcache
664 // response callback or the instruction faulted and has started an
665 // ifetch

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

744TimingSimpleCPU::completeDataAccess(PacketPtr pkt)
745{
746 // received a response from the dcache: complete the load or store
747 // instruction
748 assert(!pkt->isError());
749 assert(_status == DcacheWaitResponse || _status == DTBWaitResponse ||
750 pkt->req->getFlags().isSet(Request::NO_ACCESS));
751
661 preExecute();
662 if (curStaticInst && curStaticInst->isMemRef()) {
663 // load or store: just send to dcache
664 Fault fault = curStaticInst->initiateAcc(this, traceData);
665
666 // If we're not running now the instruction will complete in a dcache
667 // response callback or the instruction faulted and has started an
668 // ifetch

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

747TimingSimpleCPU::completeDataAccess(PacketPtr pkt)
748{
749 // received a response from the dcache: complete the load or store
750 // instruction
751 assert(!pkt->isError());
752 assert(_status == DcacheWaitResponse || _status == DTBWaitResponse ||
753 pkt->req->getFlags().isSet(Request::NO_ACCESS));
754
755 pkt->req->setAccessLatency();
752 numCycles += curCycle() - previousCycle;
753 previousCycle = curCycle();
754
755 if (pkt->senderState) {
756 SplitFragmentSenderState * send_state =
757 dynamic_cast<SplitFragmentSenderState *>(pkt->senderState);
758 assert(send_state);
759 delete pkt->req;

--- 160 unchanged lines hidden ---
756 numCycles += curCycle() - previousCycle;
757 previousCycle = curCycle();
758
759 if (pkt->senderState) {
760 SplitFragmentSenderState * send_state =
761 dynamic_cast<SplitFragmentSenderState *>(pkt->senderState);
762 assert(send_state);
763 delete pkt->req;

--- 160 unchanged lines hidden ---