1/* 2 * Copyright (c) 2010-2014 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 --- 863 unchanged lines hidden (view full) --- 872 // do the actual memory access which also turns the packet into a 873 // response 874 access(pkt); 875 876 // turn packet around to go back to requester if response expected 877 if (needsResponse) { 878 // access already turned the packet into a response 879 assert(pkt->isResponse()); |
880 // response_time consumes the static latency and is charged also 881 // with headerDelay that takes into account the delay provided by 882 // the xbar and also the payloadDelay that takes into account the 883 // number of data beats. 884 Tick response_time = curTick() + static_latency + pkt->headerDelay + 885 pkt->payloadDelay; 886 // Here we reset the timing of the packet before sending it out. |
887 pkt->headerDelay = pkt->payloadDelay = 0; 888 889 // queue the packet in the response queue to be sent out after 890 // the static latency has passed |
891 port.schedTimingResp(pkt, response_time); |
892 } else { 893 // @todo the packet is going to be deleted, and the DRAMPacket 894 // is still having a pointer to it 895 pendingDelete.push_back(pkt); 896 } 897 898 DPRINTF(DRAM, "Done\n"); 899 --- 1387 unchanged lines hidden --- |