> Mark, > > You mentioned these two exclusive ABIs a couple days ago. If you want to > compile the > toolchain and the kernel correctly to insure run-time compatibility (in my > case for 8xx), > would you do this > > for kernel fp emulation > compile kernel with CONFIG_MATH_EMULATION=y, (do you use -msoft-float while > compiling > kernel?) > then compile the toolchain without -msoft-float
Use the kernel parameters as they stand, I wouldn't mess with them.... (floating point is not supposed to happen in the kernel anyway, and when it does it's almost always assembly that is trapped anyway.) > or > > for soft-floating point - no kernel emulation > compile kernel CONFIG_MATH_EMULATION is not set (do you use -msoft-float > while compiling kernel?) > then compile the toolchain with -msoft-float Basically.. One thing to keep in mind on the 8xx (due to cache line size) it'll never truely be compatable with the rest of the PPC world. But on a processor like the 405 it "can be" compatable using the CONFIG_MATH_EMULATION. The catch is that you have a lot more overhead doing emulation.... (The emulation itself is pretty fast, certainly no slower then the software code invoked in -msoft-float..) However, you have much more context switching over head and possible cache invalidation. Also, your software could be using floating point registers w/o you expliciting using float's or double's due to gcc optimizations to argument passing. All in all you will have a penalty for using hard floating point on a soft-floating point architecture. This is the reason that MontaVista has chosen to go the route of soft-float... --Mark ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
