1/* 2 * Copyright (c) 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; --- 22 unchanged lines hidden (view full) --- 31#include "mem/tport.hh" 32 33void 34SimpleTimingPort::recvFunctional(Packet *pkt) 35{ 36 //First check queued events 37 std::list<Packet *>::iterator i = transmitList.begin(); 38 std::list<Packet *>::iterator end = transmitList.end(); |
39 bool cont = true; 40 41 while (i != end && cont) { |
42 Packet * target = *i; 43 // If the target contains data, and it overlaps the 44 // probed request, need to update data |
45 if (target->intersect(pkt)) 46 fixPacket(pkt, target); |
47 |
48 } 49 //Then just do an atomic access and throw away the returned latency |
50 if (cont) 51 recvAtomic(pkt); |
52} 53 54bool 55SimpleTimingPort::recvTiming(Packet *pkt) 56{ 57 // If the device is only a slave, it should only be sending 58 // responses, which should never get nacked. There used to be 59 // code to hanldle nacks here, but I'm pretty sure it didn't work --- 68 unchanged lines hidden --- |