Skip to content

fred-framework/fred-linux-buffctl-kmod

Repository files navigation

fred-buffctl is a Linux kernel module part of the FRED Framework software stack. The module is used by the fred-server to allocate the memory buffers used to exchange data between SW-tasks and HW-tasks. Internally, the module makes use of the Linux DMA layer to allocate physically-contiguous, uncached memory buffers. Once loaded, the allocator module instantiates a new character device named fred_buffctl, which the fred-server uses during the initialization phase to request the allocation of memory buffers. Buffers allocation requests are performed through the ioctl syscall, passing the required buffer size as an argument. For each allocation request, the kernel module creates a new memory buffer associated with a character device named fred_buff<N> (where N is a progressive number). These fred_buff<N> buffers can be memory-mapped by SW-tasks using the mmap syscall.