Linux на arm64: отображение устройства регистрируется в пространстве пользователя без использования pgprot_noncached

Мы работаем с процессором на базе 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

0 ответов

Другие вопросы по тегам