ABSTRACT: broken contents in FPU registers while switching context. REFERENCE_BOARD: almost mips using FPU. LSP_VERSION: both MVL-2.1 and 3.0 PE for nec-ddb-vr5xxxa-mips_fp_le. REPORTED_CUSTMER: Sony SCE. DESCRIPTION: It might be broken any values which are in FPU register while it's running any process with enabled Preemption kernel. CONSIDERATION: It might be caused this issue when any process are swiched their context in handler 'do_cpu() (arch/mips/kernel/traps.c)' which allows to interrupt when exception for FPU co-processoser is caused. REPRODUCING: 1. building program. > cc -O -mips2 -o fputest fputest.c 2. run script to reproduce on kernel with 'CONFIG_PREEMPT' was enabled. > sh ./run.sh 3. Appears the warning messages as follows. a: nan, b: nan a: 1.895935, b: 0.733478 I tried both lsps for MVL-2.1 and 3.0 PE for nec-ddb-vr5xxxa-mips_fp_le then it's caused this issue on both lsps. The following returns are in case of MVL-3.0. root@192.168.0.11:~# sh ./run.sh a: nan, b: nan a: nan, b: nan a: nan, b: nan a: nan, b: nan a: nan, b: nan a: nan, b: nan a: nan, b: nan a: nan, b: 0.086879 a: nan, b: 2.482951 a: nan, b: 0.364709 a: nan, b: 0.364709 a: nan, b: 1.523164 a: nan, b: 1.523164 a: nan, b: 0.695692 a: 0.033763, b: 2.958411 a: nan, b: 1.523164 a: nan, b: 0.223309 a: nan, b: 1428800553.000000 a: nan, b: 12.789888 a: 0.486427, b: 0.033763 a: 1.713750, b: 7.251947 a: 1.491375, b: 0.982025 a: 0.769617, b: 1.689032 a: nan, b: 1.557239 a: nan, b: 1.557239 a: nan, b: 0.109266 a: 7.251947, b: 0.231507 a: 0.982025, b: 0.917356 a: nan, b: nan a: nan, b: nan a: nan, b: nan a: nan, b: nan a: nan, b: nan a: nan, b: nan a: nan, b: nan a: nan, b: nan a: nan, b: nan a: nan, b: nan a: nan, b: 0.681027 a: nan, b: 0.906195 a: nan, b: 213801961.000000 --- (TAKESHI - taihana@mvista.com)