Задать вопрос
@random-guy

Отображение памяти устройства в userspace?

Всем привет.

У меня есть устройство с ARM, на нём есть аппаратный блок с собственной памятью, доступной CPU.
Эта память физически лежит отдельно от системной памяти, вместе с регистрами этого и других устройств.
Я написал драйвер, который на вызов mmap для файла устройства отображает части этой собственной памяти в вызывающий процесс с помощью remap_pfn_range со включенным кешированием.
Возник вопрос: как сбрасывать/инвалидировать кеш CPU в процессе обмена данными с устройством через эту память.
DMA API не подходит, потому что область физических адресов, через которую доступна эта память не покрыта структурами struct page.

Я порылся в ядре и не нашёл ни одного драйвера, который бы отображал память устройства в процесс со включённым кешированием.
Правильно ли я понимаю, что это линуксом не поддерживается?
Какими функциями пользоваться если всё-таки надо?
  • Вопрос задан
  • 318 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
CPU должен сам сбрасывать кэш при изменении данных.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы