From: Masahiro A. <m-...@aa...> - 2001-08-09 14:44:08
|
On Wed, 8 Aug 2001 09:37:32 +0900 (JST) NIIBE Yutaka <gn...@m1...> wrote: > Masahiro Abe wrote: > > RTLinux for SH4 uses FPU. Or more precisely, real-time task running > > under rtlinux can use fpu. There can be more than one task running > > simultaneously. > > How do you use it? Save all FPU registers at context switch or > interrupts? Well, I did have wrong thing in my mind, and I didn't clearly state the situation. Sorry. RTLinux-SH4 scheduler saves/restores FPU registers at its own context switch time. It has its own mechanism for switching tasks. (It's not lazy FPU save/restore, because I'm lazy.) So, now I think my point stated above is worthless. From RTLinux standpoint, I think Niibe-san's proposal is OK, with one note below: Please don't force to use -m4-nofpu option for compiling kernel. We've had a discussion in Japanese ML that "-m4-nofpu" and "-m4" are not compatible in terms of passing arguments to functions. "-m4-nofpu" does that in SH3 way, while "-m4" does that in SH4 way, which is different. (I can't show you details now, but Kojima-san may remember this discussion.) RTLinux core module and other Realtime task module must use "-m4" to be able to use FPU. "-m4-nofpu" kernel and "-m4" module can't work properly together. So, please consider introducing "-fno-fpudiv" or "-fidiv" for "-m4", as Niibe-san proposed, and make "-m4 -fno-fpudiv" kernel and "-m4" module work properly. Browsing the branch of this thread, my concern may be already addressed. I just wanted to add one additional information. -- Masahiro ABE, A&D Co., Ltd. |