A Direct Memory Access Controller (DMAC) for Irregular Data Transfers on RISC-V Linux Systems (Full Report)