floating points in kernel space
hi all, i read somewhere that there is no floating point arithmatic supported in the kernel space . is it true?? but the floating point registers and even floating point arithmatic units are all handled by the.( kernel i think). thanks in advance for help... -- *MOHIT VERMA* ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
Re: floating points in kernel space
On Tue, Jan 4, 2011 at 6:43 AM, mohit verma mohit89m...@gmail.com wrote: hi all, i read somewhere that there is no floating point arithmatic supported in the kernel space . is it true?? but the floating point registers and even floating point arithmatic units are all handled by the.( kernel i think). thanks in advance for help... HI it is true , the floating point is not supported on printk , AFAIK the only way to handle is to send it like HEX values and then some other application like perl or python transform it to floating point Hope it helps Regards Victor Rodriguez -- MOHIT VERMA ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
Re: floating points in kernel space
Hi Mohit, On Tue, Jan 4, 2011 at 4:43 AM, mohit verma mohit89m...@gmail.com wrote: hi all, i read somewhere that there is no floating point arithmatic supported in the kernel space . is it true?? but the floating point registers and even floating point arithmatic units are all handled by the.( kernel i think). That is correct. In some architectures, attempts to use floating point from the kernel will work. I've seen some x86 code that uses it. However, with ARM for example, there is no float support in the kernel, and some ARM architectures have no floating point support in the hardware either. For ARM, there is a kernel implemented emulation of the floating point instructions, but these can only be called from user space. There are also some ARM software floating point libraries (aka soft-fp) which can be used from user space (which are much more efficient than using the kernel emulation library) The kernel also doesn't support 64-bit division using the C divide statement, unless you happen to be running on a 64-bit architecture. There are some helper functions to achieve 64-bit division (see div64.h). Dave Hylands ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
Re: floating points in kernel space
Hi.. On Tue, Jan 4, 2011 at 22:44, Dave Hylands dhyla...@gmail.com wrote: That is correct. In some architectures, attempts to use floating point from the kernel will work. I've seen some x86 code that uses it. AFAIK, once x86 didn't supported due to floating point related registers are not correctly (or even doing?) saved and restored during context switching. So maybe it is fixed now... -- regards, Mulyadi Santosa Freelance Linux trainer and consultant blog: the-hydra.blogspot.com training: mulyaditraining.blogspot.com ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
Re: floating points in kernel space
On Tue, Jan 4, 2011 at 22:44, Dave Hylands dhyla...@gmail.com wrote: That is correct. In some architectures, attempts to use floating point from the kernel will work. I've seen some x86 code that uses it. AFAIK, once x86 didn't supported due to floating point related registers are not correctly (or even doing?) saved and restored during context switching. So maybe it is fixed now... -- I've often wondered about this oft-cited kernel behaviour too, in my naivety. I understand that this must be on a per-arch basis, but does this mean that the kernel doesn't police FP access at _all_ (perhaps this is what Mohit means too)? Does code like X for example have to access it directly, or does it just use the GPU? What about other user-space code - does it have a separate library and do its own security? Video drivers? Sorry if these are basic questions, I grepped for float in the kernel but as-yet the associated code looks really arcane to me - if anyone could answer any of these questions generally (if that's possible) that would be very helpful with visualizing the mechanism. Maybe I'm looking in the wrong place. When I started looking at the kernel I imagined this small, neat, concise piece of highly efficient code so I wasn't surprised there was no float (don't laugh - how one learns :-/ ) ... I suppose any float per-arch 'hacks' (to get a larger word size) would not be worth the overhead of the mode switch and extra code? Thanks Julie ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies