реклама на сайте
подробности

 
 
> отмапить виртуальный адрес ядра в пространство пользователя
novartis
сообщение Jan 28 2016, 10:59
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 375
Регистрация: 9-10-09
Из: Свердловский регион
Пользователь №: 52 845



В pcie драйвере вызвал функцию pci_alloc_consistent(). Благодаря этому получил два адреса - один виртуальный адрес ядра, другой - физический адрес. Физический адрес сообщил в плис. Плис пишет данные по этому адресу, выставляет прерывание. В обработчике прерывания печатаю содержимое буфера с виртуальным адресом. Вижу свои данные, все работает.

Вопрос 1. Функция pci_alloc_consistent завершается удачно, если размер запрашиваемого буфера не превышает 4 МБайт. С чем это связано, почему не удаётся получить 8 и больше МБайт?

Вопрос 2. Можно ли замапить виртуальный буфер ядра в пространство пользователя?
Это вообще возможно?
Как я понимаю, физическая память линейна и поделена на траницы. Эти страницы отображаются в виртуальную память в произвольном порядке.
Вызвав функцию pci_alloc_consistent, я зарезервировал большое количество подряд идущих страниц физической памяти и отобразил их в виртуальной памяти.
В виртуальной памяти пользователя свой порядок страниц, это меня и напрягает, получится ли просто замапить виртуальный буфер ядра в виртуальный буфер пользователя, у пользователя как то тоже нужно пересортировать страницы, чтобы они в линию выстроились в физической памяти.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Jury093
сообщение Jan 29 2016, 14:41
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050



Цитата(novartis @ Jan 28 2016, 13:59) *
Вопрос 1. Функция pci_alloc_consistent завершается удачно, если размер запрашиваемого буфера не превышает 4 МБайт. С чем это связано, почему не удаётся получить 8 и больше МБайт?

покопайте в сторону CMA в ядре..
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th June 2025 - 07:10
Рейтинг@Mail.ru


Страница сгенерированна за 0.01373 секунд с 7
ELECTRONIX ©2004-2016