LINUX.ORG.RU

Модуль ядра 2.4.хх. Ядро работает на arm926ejs. Проблема с функцией set_fs()


0

1

Коллеги, помогите решить следующую проблему. Есть старое ядро 2.4.хх, есть железяка работающая на arm926ejs под управлением этого ядра. Пишу модуль ядра для этой железяки, в коде модуля есть такие строчки:

.................... 1. old_fs = get_fs(); 2. set_fs(KERNEL_DS); 3. sock->ops->ioctl(...); // запрос к драйверу железяки 4. set_fs(old_fs); .................... Ошибка (даже не могу ее описать, т.к. железка «умирает» молча, ни kernel_panic, ни error какой-то, ничего...) ТОЧНО происходит либо в строке 1, либо 2. По-моему, скорее - 2. Я понимаю, что функция set_fs устанавливает значение лимита для ядра в регистр DS (это на х86), я понимаю, что в ARM'e никаких сегментных регистров нет. Но только дальше то что?! Коллеги, если кто сталкивался с подобным, или есть здравые мысли как это победить, посоветуйте пожалуйста.

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.