LINUX.ORG.RU

Сообщения sts

 

как правильно определить ioctl?

#define IOCTL_GET_TEST  0x1

ioctl работает


#define IOCTL_GET_TEST   _IOR(MAJOR_NUM, 0x1, int)

при попытке обращения из приложения вылезает сообщение:
Unhandled ioctl call, ioctl num:0x1

Попробовал другие типы из ioctl-number.txt результат тот же.
Что я делаю не так?
sts
()

отображение в /proc/sys/dev

Как зарегистрировать девайс чтобы он отображался в sysfs?
sts
()

границы производительности драйвера

Хочу перезадать свой вопрос по-другому - реально ли осуществить приём+передачу потока данных по шине pci 10-20MB/c и одновременно управлять периферией с потоком данных около 1МБ/с? Насколько возможно для решения этой задачи использовать дистрибутивные ядра без доработки?

sts
()

Видеограббер под линуксом

Помню, что кто-то этой задачей занимался. Интересует именно российская разработка, желательно с сопровождением. Параметры, цены и т.д.

sts
()

interruptible_sleep_on в ядре 2.6

Похоже я пропустил какие-то нововведения в ядре, столкнулся с
такой проблемой. Использую дефолтное ядро FC2 (2.6.5-358), при
сборке в модуле l780 выдаётся предупреждение:

drivers/lcard/l780.c: In function `device_open':
drivers/lcard/l780.c:1046: warning: `interruptible_sleep_on' is
 deprecated (declared at include/linux/wait.h:231)
drivers/lcard/l780.c: In function `device_read':
drivers/lcard/l780.c:1123: warning: `interruptible_sleep_on' is
 deprecated (declared at include/linux/wait.h:231)
drivers/lcard/l780.c: In function `device_write':
drivers/lcard/l780.c:1162: warning: `interruptible_sleep_on' is
 deprecated (declared at include/linux/wait.h:231)
drivers/lcard/l780.c: In function `dev_probe':
drivers/lcard/l780.c:1815: warning: ignoring return value of
 `pci_enable_device', declared with attribute warn_unused_result

Причём на предыдущих версиях ядра такого чуда не было. Подозреваю,
что в FC наложили какой-то патч, но что-то в спеках ничего не пойму.


При запуске модуля ядро ругается так:

Badness in interruptible_sleep_on at kernel/sched.c:1927
kernel: Call Trace:
kernel:  [<c02964a5>] interruptible_sleep_on+0x5b/0xcd
kernel:  [<c01166a2>] default_wake_function+0x0/0xc
kernel:  [<f096b342>] device_read+0x72/0x12b [l780]
kernel:  [<c0143c84>] vfs_read+0xb8/0xe4
kernel:  [<c0143e5d>] sys_read+0x2c/0x42
kernel:  [<c0297b57>] syscall_call+0x7/0xb

Хотя на первый взгляд работает модуль нормально. Какие будут
соображения? Я пока теряюсь в догадках.
sts
()

На каких мамках есть HPET?

Нашёл только вот это:
http://www.intel.com/labs/platcomp/hpet/hpetspec.htm

Правильно я понимаю, что на тех, где есть контроллеры ICH5?
sts
()

QT: как выводить без перерисовки экрана

Мне нужно вывести на экран отрисовку данных например с интервалом в 1сек. Подскажите, как сделать это не перерисовывая каждый раз экран заново.

sts
()

Прерывания с периодом 1мс

Девайс генерит с pci шины прерывания с периодом 1мс. Мне нужно гарантировать их обработку и непропуск в течение этого периода. Если не грузить комп другими задачами, то проблем не возникает. Хотелось бы уточнить как это правильно сделать. И вообще возможно поднимать приоритет прерывания и каким образом?

sts
()

POSIX семафор

Подскажите реализован ли сабж, если да то как им пользоваться.
Беру пример из Стивенса.
Компилится без проблем, при запуске получаю сообщение
sem_open: Function not implemented
sts
()

как правильно читать промаппленный обьект?

В приложении успешно маппится девайс
ptr = mmap(0, mmapsize, PROT_READ, MAP_SHARED, devd, 0);
и при попытке прочитать его содержание
printf("%8d", ptr[0]); или
printf("%8d", *ptr);
получаем Segmentation fault.

Везде пишут, что можно обращаться к области памяти, на которую указывает ptr. Как правильно это сделать?
sts
()

Как сделать mmap() из kernel-space

в user-space, подскажите кто умеет. mmap делаю из user-space, до обработки вызова не доходит, возвращается всё время -1(видимо какие-то проверки в glibc). Читаю у Рубини - рекомендуется использовать vmalloc/kmap, но не соображу как это правильно сделать.

sts
()

RSS подписка на новые темы