У меня есть устройство PCI, которое необходимо читать и писать из пользовательского пространства. Я пытаюсь использовать нулевую копию; есть способ выделить, вывести и получить физический адрес адреса пользовательского пространства полностью в пределах пользовательского пространства или мне нужен модуль ядра, который, например, вызывает virt_to_phys или get_user_pages? Память устройства отображается в память пользовательского пространства через MMIO, поэтому я могу передать ему любые данные, которые необходимы. Благодарю.Linux Zero Copy
2
A
ответ
1
Это был полный взлом, но я ограничил Linux до диапазона памяти и использовал MMIO для выделения памяти для моего устройства, о котором ядро не подозревало.
0
В принципе, вам нужна память для DMA-совместимости, и, насколько я знаю, это может сделать только модуль ядра. См. http://lxr.free-electrons.com/source/Documentation/PCI/PCI-DMA-mapping.txt