188.8.131.52. Descriptor Memory Management
At the time of channel initialization, the device allocates the descriptor and data memory.
Maximum length of data in descriptor is 1 MB. Link specifies whether the next descriptor is in any other page.
- source address
- Destination address
- Data length
- Start of file (SOF)
- End of file (EOF)
- Descriptor index
Application need to pass these values to the hardware through the libmqdma.
The user space data page can be much bigger than the normal TLB entry page size of 4 KB. libqdma library implements the allocator to organize the memory.
- Q_START_ADDR_L, Q_START_ADDR_H: Contains the physical address of the start of the descriptor array.
- Q_SIZE: Logarithmic value of number of descriptors
- Q_CONS_HEAD_ADDR_L, Q_CONS_HEAD_ADDR_H: Physical address of the head index of the ring, where FPGA sync the value of the head.