1/* 2 * Copyright (c) 2012 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 --- 73 unchanged lines hidden (view full) --- 82 83 /** Number of outstanding packets the dma port has. */ 84 int pendingCount; 85 86 /** If we need to drain, keep the drain event around until we're done 87 * here.*/ 88 Event *drainEvent; 89 |
90 /** If the port is currently waiting for a retry before it can send whatever 91 * it is that it's sending. */ 92 bool inRetry; 93 94 virtual bool recvTimingResp(PacketPtr pkt); 95 96 virtual void recvRetry() ; 97 98 void queueDma(PacketPtr pkt, bool front = false); 99 void sendDma(); 100 |
101 public: |
102 |
103 DmaPort(MemObject *dev, System *s); 104 |
105 void dmaAction(Packet::Command cmd, Addr addr, int size, Event *event, 106 uint8_t *data, Tick delay, Request::Flags flag = 0); 107 108 bool dmaPending() { return pendingCount > 0; } 109 110 unsigned cacheBlockSize() const { return peerBlockSize(); } 111 unsigned int drain(Event *de); 112}; --- 44 unchanged lines hidden --- |