Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Монстры Linux есть?

Отправлено vitalyn 27 мая 2009, г. 15:11


Ситуация такая. Есть PC с процессором ATOM, памяти 2G на борту. В него воткнута PCI карточка, которая через Bus Mastering напрямую с этой памятью работает. Пытаюсь mmap эту память пользовательской программе - не могу выделить более 256М, а надо как минимум 1G. Что делаю - в коммандной строке ядра указываю MEM=512M, т.е. первые 512 метров из имеющихся 2 гигов отдаю Linux в полное его использование, а а оставшиеся полтора гига хочу отмаппировать себе. Если прошу не больше 256М - всё нормально, а если больше - ругается, чтобы я увеличил vmalloc=<size> Пытаюсь задать этот vmalloc в командной строке ядра при его загрузке - загрузка вообще колом встаёт, сыпет всё время одно и то же сообщение, сейчас не помню какое. Затык в функции ioremap, которая отображает физическую память в логические адреса ядра. Выбрасываю эту функцию, поскольку из пространства ядра мне нет необходимости обращаться к этой памяти. Возможно зря, поскольку с нею всё работало (но только до 256М), возможно она что-то инициализирует в качестве побочного эффекта.

Короче, программа из юзерспейса пытается сделать mmap этой физически имеющейся памяти. В драйвере в обработчике dev_mmap делаю remap_pfn_range, который пытается отобразить физический адрес в пространство виртуальных адресов процесса и тут всё валится с грохотом. Linux думает, что отсутствуют страницы памяти.

Как объяснить этой скотине, что память физически присутствует, что она не своппируемая, что Linuxу вообще о ней заботиться не надо, надо всего лишь прописать адресацию, чтобы к это памяти можно было обратиться???


Составить ответ | Вернуться на конференцию.

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
поделите 4 пополам:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru