Merge zizzer:/bk/newmem
into zeep.pool:/z/saidi/work/m5.newmem.head --HG-- extra : convert_revision : 42712a50ca46ebc891b78186f4b6d1412a35d374
This commit is contained in:
@@ -44,6 +44,7 @@ SimpleTimingPort::recvFunctional(PacketPtr pkt)
|
||||
if (target->intersect(pkt))
|
||||
done = fixPacket(pkt, target);
|
||||
|
||||
i++;
|
||||
}
|
||||
|
||||
//Then just do an atomic access and throw away the returned latency
|
||||
@@ -98,11 +99,29 @@ SimpleTimingPort::recvRetry()
|
||||
void
|
||||
SimpleTimingPort::sendTiming(PacketPtr pkt, Tick time)
|
||||
{
|
||||
// Nothing is on the list: add it and schedule an event
|
||||
if (transmitList.empty()) {
|
||||
assert(!sendEvent.scheduled());
|
||||
sendEvent.schedule(curTick+time);
|
||||
transmitList.push_back(std::pair<Tick,PacketPtr>(time+curTick,pkt));
|
||||
return;
|
||||
}
|
||||
|
||||
// something is on the list and this belongs at the end
|
||||
if (time+curTick >= transmitList.back().first) {
|
||||
transmitList.push_back(std::pair<Tick,PacketPtr>(time+curTick,pkt));
|
||||
return;
|
||||
}
|
||||
// Something is on the list and this belongs somewhere else
|
||||
std::list<std::pair<Tick,PacketPtr> >::iterator i = transmitList.begin();
|
||||
std::list<std::pair<Tick,PacketPtr> >::iterator end = transmitList.end();
|
||||
bool done = false;
|
||||
|
||||
while (i != end && !done) {
|
||||
if (time+curTick < i->first)
|
||||
transmitList.insert(i,std::pair<Tick,PacketPtr>(time+curTick,pkt));
|
||||
i++;
|
||||
}
|
||||
transmitList.push_back(std::pair<Tick,PacketPtr>(time+curTick,pkt));
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
@@ -91,11 +91,6 @@ SimObject::SimObject(const string &_name)
|
||||
state = Running;
|
||||
}
|
||||
|
||||
void
|
||||
SimObject::connect()
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
SimObject::init()
|
||||
{
|
||||
@@ -159,21 +154,6 @@ SimObject::regAllStats()
|
||||
Stats::registerResetCallback(&StatResetCB);
|
||||
}
|
||||
|
||||
//
|
||||
// static function: call connect() on all SimObjects.
|
||||
//
|
||||
void
|
||||
SimObject::connectAll()
|
||||
{
|
||||
SimObjectList::iterator i = simObjectList.begin();
|
||||
SimObjectList::iterator end = simObjectList.end();
|
||||
|
||||
for (; i != end; ++i) {
|
||||
SimObject *obj = *i;
|
||||
obj->connect();
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// static function: call init() on all SimObjects.
|
||||
//
|
||||
|
||||
@@ -101,9 +101,7 @@ class SimObject : public Serializable, protected StartupCallback
|
||||
// initialization pass of all objects.
|
||||
// Gets invoked after construction, before unserialize.
|
||||
virtual void init();
|
||||
virtual void connect();
|
||||
static void initAll();
|
||||
static void connectAll();
|
||||
|
||||
// register statistics for this object
|
||||
virtual void regStats();
|
||||
|
||||
Reference in New Issue
Block a user