Низкий уровень ввода-вывода в ядре linux - PullRequest
0 голосов
/ 18 апреля 2020

Я пишу драйвер для устройства, которое генерирует кучу данных и сохраняет их в буфере памяти. Драйвер должен прочитать этот буфер и сохранить данные в хранилище nvme. Устройство и буфер памяти реализованы в fpga logi c. Размер буфера составляет около 1G. Процессор видит это как обычный оперативной памяти, но linux ничего не знают об этом, и это проблема. Когда я использую биослой для сохранения данных, мне нужен указатель страницы strust *, но у меня его нет. Вопрос: есть ли способ сохранить данные из буфера, используя только физический адрес и размер? Или я должен использовать страницы, поэтому мне нужно как-то добавить этот буфер в linux пул памяти.

...