#include "base/chunk_generator.hh"
#include "debug/DMA.hh"
#include "debug/Drain.hh"
-#include "mem/port_proxy.hh"
#include "sim/clocked_object.hh"
#include "sim/system.hh"
unsigned max_pending,
Request::Flags flags)
: maxReqSize(max_req_size), fifoSize(size),
- reqFlags(flags), port(_port), buffer(size)
+ reqFlags(flags), port(_port), proxy(port, port.sys->cacheLineSize()),
+ buffer(size)
{
freeRequests.resize(max_pending);
for (auto &e : freeRequests)
"fifo_space=%#x block_remaining=%#x\n",
nextAddr, xfer_size, fifo_space, block_remaining);
- port.sys->physProxy.readBlob(nextAddr, tmp_buffer.data(), xfer_size);
+ proxy.readBlob(nextAddr, tmp_buffer.data(), xfer_size);
buffer.write(tmp_buffer.begin(), xfer_size);
nextAddr += xfer_size;
}
#include "base/circlebuf.hh"
#include "dev/io_device.hh"
+#include "mem/port_proxy.hh"
#include "params/DmaDevice.hh"
#include "sim/drain.hh"
#include "sim/system.hh"
const Request::Flags reqFlags;
DmaPort &port;
+ PortProxy proxy;
private:
class DmaDoneEvent : public Event