Class DmaBuffer

Inheritance Relationships

Derived Types

Class Documentation

class DmaBuffer

Base class for a FELIX DMA buffer. The buffer is defined by a physical address (paddr - used by the FELIX card), a size (size) and end-address (pend). The physical address is mapped to a virtual address (vaddr) used by software in user space. Software and firmware maintain each a read/write address depending on the data transfer direction. The address managed by software is pc_ptr. The firmware pointer is read from the card register or is emulated in software by emu_fw_ptr.

Subclassed by CmemBuffer, VmemBuffer

Public Functions

inline explicit DmaBuffer(size_t c)

Constructor for a DMA buffer.

All address are initialised to zero.

Parameters:

size -- buffer size.

inline virtual ~DmaBuffer()

Public Members

uint64_t paddr
uint64_t vaddr
size_t size
uint64_t pend
uint64_t pc_ptr
uint64_t emu_fw_ptr