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

 
 
> float point в Linux драйвере, возможно?, float point в Linux драйвере, возможно?
Builder
сообщение Sep 19 2005, 08:19
Сообщение #1


iBuilder©
****

Группа: Свой
Сообщений: 519
Регистрация: 14-07-04
Из: Минск
Пользователь №: 322



Нужно портировать драйвер для платы с Win2k на Linux.
Столкнулся с тем, что не найду - а это возможно, float point в драйвере Linux?
В Win2k были макросы - сохранить контекст/загрузить контекст FPU.
А как быть в Linux?
Переосмысливать архитектуру системы или организовывать программно?
Поверхносный поиск ничего не дал - как будто нельзя FPU...

Попутно, может кто подскажет хорошие форумы по Linux драйверам?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Builder
сообщение Sep 22 2005, 11:25
Сообщение #2


iBuilder©
****

Группа: Свой
Сообщений: 519
Регистрация: 14-07-04
Из: Минск
Пользователь №: 322



В общем вырисовывается 2 варианта:
1) софтово эмулировать - благо библиотеки вроде есть. (В моём случае - хороший вариант - расчётов не очень много).
2) Организовать передачу расчётов на пользовательский уровень ожидающему потоку, скажем сообщением.

Но всё-же, для полной картины. Я так и не понял, если я сделаю сохранение/востановления контекста FPU на уровне ядра (MMX юзать изначально не буду, а то его контекст не сохраняется), а на это время запрещаю прерывания, что-б не меня не прервали (не более нескольких мкс) - это будет работать?
Go to the top of the page
 
+Quote Post
Olej
сообщение Sep 22 2005, 14:03
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 351
Регистрация: 11-09-05
Из: Харьков
Пользователь №: 8 458



Цитата(Builder @ Sep 22 2005, 14:25)
Но всё-же, для полной картины. Я так и не понял, если я сделаю сохранение/востановления контекста FPU на уровне ядра (MMX юзать изначально не буду, а то его контекст не сохраняется), а на это время запрещаю прерывания, что-б не меня не прервали (не более нескольких мкс) -  это будет работать?
*


По идее, если вы всё корректно сделаете wink.gif таким способом - всё должно безупречно работать. Только:
а). это должно быть сделано очень корректно, иначе такой код просто не безопасен...
б). вам придётся запрещать прерывания на время выполнения достаточно продолжительного фрагмента кода (ведь вы не только свои прерывания запрещаете) - при этом может овчинка перестать стоить выделки wink.gif.
Go to the top of the page
 
+Quote Post
Builder
сообщение Sep 22 2005, 14:18
Сообщение #4


iBuilder©
****

Группа: Свой
Сообщений: 519
Регистрация: 14-07-04
Из: Минск
Пользователь №: 322



Цитата(Olej @ Sep 22 2005, 17:03)
б). вам придётся запрещать прерывания на время выполнения достаточно продолжительного фрагмента кода (ведь вы не только свои прерывания запрещаете) - при этом может овчинка перестать стоить выделки wink.gif.
*

Почему не стоит, если запретить прерывания на 5-10 мкс, по моему в обычном Linux (не RT), этого никто и не заметит.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Builder   float point в Linux драйвере, возможно?   Sep 19 2005, 08:19
- - Танцующий   FreeBSD5: /usr/src/sys/i386/i386/support.s -> i...   Sep 19 2005, 08:52
|- - Танцующий   В догонку: посмотри вот это.   Sep 19 2005, 09:03
- - Olej   Цитата(Builder @ Sep 19 2005, 11:19)Нужно пор...   Sep 19 2005, 08:53
|- - Dizel   Вопрос в тему уважаемому QNX-гуру Olej: в QNX, есл...   Sep 21 2005, 16:45
|- - Olej   Цитата(Dizel @ Sep 21 2005, 19:45)в QNX, если...   Sep 22 2005, 08:59
- - Builder   Ну почу бузумие, уникальный код - тот-же, нужно то...   Sep 19 2005, 09:01
|- - Olej   Цитата(Builder @ Sep 19 2005, 12:01)Ну почу б...   Sep 19 2005, 14:45
|- - Dizel   Если уж на то пошло, то лучше сразу взять 3-ье изд...   Sep 21 2005, 16:33
- - Builder   А эта брошурка в эл. виде существует где? А то в н...   Sep 19 2005, 09:07
|- - Dizel   Эта брошурка (LKMPG) в каком виде только не сущест...   Sep 21 2005, 16:39
- - Builder   Правильно ли я понял - если хочу float-point в дра...   Sep 21 2005, 11:10
- - Dizel   Нельзя там в ядре floating point http://www.ussg.i...   Sep 21 2005, 16:26
- - Builder   Что касается драйвера - это драйве PCI платы, виси...   Sep 22 2005, 08:11
|- - Dizel   Т.е. к сожалению считать надо все таки в прерывани...   Sep 22 2005, 08:36
- - zaratustra   Builder Надо ещё окружать операции с fp при помо...   Nov 18 2005, 16:26


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

 


RSS Текстовая версия Сейчас: 29th July 2025 - 13:37
Рейтинг@Mail.ru


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