diff options
author | Andreas Hansson <andreas.hansson@arm.com> | 2012-05-23 09:14:12 -0400 |
---|---|---|
committer | Andreas Hansson <andreas.hansson@arm.com> | 2012-05-23 09:14:12 -0400 |
commit | 5b36cf623cd065eea4f7b5e8b892dc904c030d56 (patch) | |
tree | 624c4dd0f98bfa824a05c61d0b9b6554ec7a9a08 /src/dev/io_device.cc | |
parent | 31b4ac5cec638ee5a60e15fada85f5890300ec6a (diff) | |
download | gem5-5b36cf623cd065eea4f7b5e8b892dc904c030d56.tar.xz |
MEM: Add a snooping DMA port subclass for table walker
This patch makes the (device) DmaPort non-snooping and removes the
recvSnoop constructor parameter and instead introduces a
SnoopingDmaPort subclass for the ARM table walker.
Functionality is unchanged, as are the stats, and the patch merely
clarifies that the normal DMA ports are not snooping (although they
may issue requests that are snooped by others, as done with PCI, PCIe,
AMBA4 ACE etc).
Currently this port is declared in the ARM table walker as it is not
used anywhere else. If other ports were to have similar behaviour it
could be moved in a future patch.
Diffstat (limited to 'src/dev/io_device.cc')
-rw-r--r-- | src/dev/io_device.cc | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/dev/io_device.cc b/src/dev/io_device.cc index eb799f688..83d3af095 100644 --- a/src/dev/io_device.cc +++ b/src/dev/io_device.cc @@ -120,13 +120,12 @@ BasicPioDevice::getAddrRanges() } -DmaPort::DmaPort(MemObject *dev, System *s, Tick min_backoff, Tick max_backoff, - bool recv_snoops) - : MasterPort(dev->name() + "-dmaport", dev), device(dev), sys(s), +DmaPort::DmaPort(MemObject *dev, System *s, Tick min_backoff, Tick max_backoff) + : MasterPort(dev->name() + "-dma", 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), + maxBackoffDelay(max_backoff), inRetry(false), backoffEvent(this) { } |