Linux на arm64: отображение устройства регистрируется в пространстве пользователя без использования pgprot_noncached - PullRequest
0 голосов
/ 03 июля 2018

Мы работаем с процессором на базе ARM64 и пытаемся отобразить адрес устройства в пространство пользователя в функции драйвера mmap.

В настоящее время мы используем pgprot_noncached и remap_pfn_range для отображения регистров устройства на пространство пользователя, но это дает:

unhandled alignment fault (7) at 0xffffb420f080

Я ссылался Linux на arm64: необработанные ошибки выравнивания , что указывает на pgprot_noncached наложение сильного упорядочения, которое является причиной проблемы.

Я не могу использовать решение, упомянутое в Linux на arm64: необработанные ошибки выравнивания , так как dma_mmap_coherent ожидает динамически распределенную память от dma_zalloc_coherent. Есть ли другой способ сопоставить память устройства с пользовательским пространством без использования API DMA

...