I am writing a driver for a device that generates a bunch of data and stores its in a memory buffer. Driver should read this buffer and store data to a nvme storage. Device and memory buffer are implemented in fpga logic. The buffer size is about 1G. CPU sees it like a regular ram but linux know nothing about it and this is a problem. When I use bio layer in order to save the data I need a strust* page pointer but I don’t have one.The question is:Is there any way to save the data from the buffer using just a physical address and size?Or I have to use pages so I need to add this buffer to linux memory pool somehow.
↧