10 #include <boost/core/noncopyable.hpp>
20 static constexpr
size_t _maxDmaChannels = 4;
21 static constexpr
size_t _maxInterrupts = 16;
23 std::optional<CtrlIntf> _ctrlIntf;
24 std::vector<DmaIntf> _dmaChannels;
25 std::array<std::unique_ptr<EventFile>, _maxInterrupts> _eventFiles;
27 const std::string _devicePath;
32 explicit XdmaBackend(std::string devicePath, std::string mapFileName =
"");
39 void dump(
const int32_t* data,
size_t nbytes);
40 void read(uint64_t bar, uint64_t address, int32_t* data,
size_t sizeInBytes)
override;
41 void write(uint64_t bar, uint64_t address,
const int32_t* data,
size_t sizeInBytes)
override;
48 std::string address, std::map<std::string, std::string> parameters);