From 8aaa39e93dfe000ad423b585e78a4c2ee7418363 Mon Sep 17 00:00:00 2001 From: Ali Saidi Date: Sun, 12 Feb 2012 16:07:38 -0600 Subject: mem: Add a master ID to each request object. This change adds a master id to each request object which can be used identify every device in the system that is capable of issuing a request. This is part of the way to removing the numCpus+1 stats in the cache and replacing them with the master ids. This is one of a series of changes that make way for the stats output to be changed to python. --- src/dev/io_device.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/dev/io_device.cc') diff --git a/src/dev/io_device.cc b/src/dev/io_device.cc index 840343dce..b1f6f5e02 100644 --- a/src/dev/io_device.cc +++ b/src/dev/io_device.cc @@ -116,6 +116,7 @@ BasicPioDevice::getAddrRanges() DmaPort::DmaPort(MemObject *dev, System *s, Tick min_backoff, Tick max_backoff, bool recv_snoops) : Port(dev->name() + "-dmaport", dev), device(dev), sys(s), + masterId(s->getMasterId(dev->name())), pendingCount(0), actionInProgress(0), drainEvent(NULL), backoffTime(0), minBackoffDelay(min_backoff), maxBackoffDelay(max_backoff), inRetry(false), recvSnoops(recv_snoops), @@ -187,7 +188,6 @@ DmaDevice::DmaDevice(const Params *p) : PioDevice(p), dmaPort(NULL) { } - unsigned int DmaDevice::drain(Event *de) { @@ -254,7 +254,7 @@ DmaPort::dmaAction(Packet::Command cmd, Addr addr, int size, Event *event, event ? event->scheduled() : -1 ); for (ChunkGenerator gen(addr, size, peerBlockSize()); !gen.done(); gen.next()) { - Request *req = new Request(gen.addr(), gen.size(), flag); + Request *req = new Request(gen.addr(), gen.size(), flag, masterId); PacketPtr pkt = new Packet(req, cmd, Packet::Broadcast); // Increment the data pointer on a write -- cgit v1.2.3