리눅스 부동소수 관련 질문드립니다.
글쓴이: enermysong / 작성시간: 화, 2009/04/14 - 11:04오전
안녕하세요!~
현재 디바이스 드라이버를 제작중입니다.
문제가 디바이스 드라이버 내에서 부동소수를 처리를 해주어야 합니다.
그런데 제가 알고 있는 습자지 지식에 의하면 리눅스는 커널레벨에서는 부동소수 연산을 못하는것으로 알고 있습니다.
혹은 사용하더라도 커널(현재 2.6.26.8 사용중)이 선점 방식이라서 스케쥴링 변하게 되어서 FPU에 있던 값들이 달라져 엉뚱한 결과를 가져오는
문제가 발생하는것으로 알고 있는데요!
혹시 제가 잘못 알고 있는건가요? 제가 알고있는 사항이 옳다면 FPU를 사용하여 부동소수를 연산하도록 하려면 어떠한 조치를 취해야 하는지
궁금합니다. --> 이것도 주워 들은 지식에 의하면 FPU의 값들을 저장하는 방법이 있다는데....
아무쪼록 도움의 말씀들을 부탁드리겠습니다.
그럼 다들 수고하세요!~~
Forums:
관련글
이전 관련글입니다. http://kldp.org/node/49223
답변 감사드립니다.
답변 감사드립니다.
하나 더
하나 더 여쭈겠습니다.
kernel_fpu_begin()
kernel_fpu_end()
이 두함수를 이용하는 방법이 있는데요! 이 두함수를 이용하게 되면 fpu의 레지스터의 값이 저장이 되나요?
찾아보니깐 __save_init_fpu()라는 함수를 이용하는것 같은데요.. 레지스터를 저장하고 있는지 아닌지를 잘 모르겠습니다.
한번더 부탁드려 보겠습니다.
그럼 수고 하세요!~
댓글 달기