* [Qemu-devel] qemu fpu/softfloat-specialize.h fpu/softfloat.c... @ 2007-11-18 14:33 Paul Brook 2007-11-20 20:17 ` Blue Swirl 0 siblings, 1 reply; 10+ messages in thread From: Paul Brook @ 2007-11-18 14:33 UTC (permalink / raw) To: qemu-devel CVSROOT: /sources/qemu Module name: qemu Changes by: Paul Brook <pbrook> 07/11/18 14:33:24 Modified files: fpu : softfloat-specialize.h softfloat.c softfloat.h target-arm/nwfpe: double_cpdo.c single_cpdo.c target-m68k : helper.c op.c target-mips : op_helper.c Log message: Add strict checking mode for softfp code. CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/qemu/fpu/softfloat-specialize.h?cvsroot=qemu&r1=1.4&r2=1.5 http://cvs.savannah.gnu.org/viewcvs/qemu/fpu/softfloat.c?cvsroot=qemu&r1=1.7&r2=1.8 http://cvs.savannah.gnu.org/viewcvs/qemu/fpu/softfloat.h?cvsroot=qemu&r1=1.9&r2=1.10 http://cvs.savannah.gnu.org/viewcvs/qemu/target-arm/nwfpe/double_cpdo.c?cvsroot=qemu&r1=1.6&r2=1.7 http://cvs.savannah.gnu.org/viewcvs/qemu/target-arm/nwfpe/single_cpdo.c?cvsroot=qemu&r1=1.5&r2=1.6 http://cvs.savannah.gnu.org/viewcvs/qemu/target-m68k/helper.c?cvsroot=qemu&r1=1.10&r2=1.11 http://cvs.savannah.gnu.org/viewcvs/qemu/target-m68k/op.c?cvsroot=qemu&r1=1.13&r2=1.14 http://cvs.savannah.gnu.org/viewcvs/qemu/target-mips/op_helper.c?cvsroot=qemu&r1=1.73&r2=1.74 ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] qemu fpu/softfloat-specialize.h fpu/softfloat.c... 2007-11-18 14:33 [Qemu-devel] qemu fpu/softfloat-specialize.h fpu/softfloat.c Paul Brook @ 2007-11-20 20:17 ` Blue Swirl 2007-11-20 20:42 ` Paul Brook 2007-11-21 8:51 ` Aurelien Jarno 0 siblings, 2 replies; 10+ messages in thread From: Blue Swirl @ 2007-11-20 20:17 UTC (permalink / raw) To: qemu-devel, paul On 11/18/07, Paul Brook <paul@nowt.org> wrote: > CVSROOT: /sources/qemu > Module name: qemu > Changes by: Paul Brook <pbrook> 07/11/18 14:33:24 > > Modified files: > fpu : softfloat-specialize.h softfloat.c softfloat.h > target-arm/nwfpe: double_cpdo.c single_cpdo.c > target-m68k : helper.c op.c > target-mips : op_helper.c > > Log message: > Add strict checking mode for softfp code. This commit has broken sparc-softmmu, for example Aurora 1.0 normally prints: Running anaconda - please wait... Probing for video card: Sun TCX (8bit) Probing for monitor type: Unable to probe Probing for mouse type: Sun - Mouse After this commit: Running anaconda - please wait... Traceback (innermost last): File "/usr/bin/anaconda", line 67, in ? import dispatch File "/usr/lib/anaconda/dispatch.py", line 29, in ? from bootloader import writeBootloader, bootloaderSetupChoices File "/usr/lib/anaconda/bootloader.py", line 21, in ? import whrandom File "/usr/lib/python1.5/whrandom.py", line 140, in ? _inst = whrandom() File "/usr/lib/python1.5/whrandom.py", line 46, in __init__ self.seed(x, y, z) File "/usr/lib/python1.5/whrandom.py", line 59, in seed t = long(time.time() * 256) IOError: [Errno 2] No such file or directory install exited abnormally sending termination signals...done sending kill signals...done disabling swap... unmounting filesystems... /mnt/runtime done disabling /dev/loop0 /proc/openprom done /proc done /dev/pts done /mnt/source done ejecting /tmp/cdrom... you may safely reboot your system This and a couple similar changes look suspicious: && ( (sbits64) ( zSig + roundIncrement ) < 0 ) ) ) { float_raise( float_flag_overflow | float_flag_inexact STATUS_VAR); - return packFloat64( zSign, 0x7FF, 0 ) - ( roundIncrement == 0 ); + return packFloat64( zSign, 0x7FF, - ( roundIncrement == 0 )); } if ( zExp < 0 ) { isTiny = ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] qemu fpu/softfloat-specialize.h fpu/softfloat.c... 2007-11-20 20:17 ` Blue Swirl @ 2007-11-20 20:42 ` Paul Brook 2007-11-21 8:51 ` Aurelien Jarno 1 sibling, 0 replies; 10+ messages in thread From: Paul Brook @ 2007-11-20 20:42 UTC (permalink / raw) To: qemu-devel; +Cc: Blue Swirl > > Log message: > > Add strict checking mode for softfp code. > > This commit has broken sparc-softmmu, Strange. My intention was for this commit to have absolutely no functional changes. FWIW I verified that the debian-sparc installer image booted successfully. I guess this probably doesn't stress the FPU much though. > This and a couple similar changes look suspicious: > && ( (sbits64) ( zSig + roundIncrement ) < 0 ) ) > ) { > float_raise( float_flag_overflow | float_flag_inexact STATUS_VAR); > - return packFloat64( zSign, 0x7FF, 0 ) - ( roundIncrement == 0 ); > + return packFloat64( zSign, 0x7FF, - ( roundIncrement == 0 )); } I'm pretty sure this change is correct. ie. it has no effect on the result. Paul ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] qemu fpu/softfloat-specialize.h fpu/softfloat.c... 2007-11-20 20:17 ` Blue Swirl 2007-11-20 20:42 ` Paul Brook @ 2007-11-21 8:51 ` Aurelien Jarno 2007-11-21 10:40 ` Aurelien Jarno 1 sibling, 1 reply; 10+ messages in thread From: Aurelien Jarno @ 2007-11-21 8:51 UTC (permalink / raw) To: qemu-devel Blue Swirl a écrit : > On 11/18/07, Paul Brook <paul@nowt.org> wrote: >> CVSROOT: /sources/qemu >> Module name: qemu >> Changes by: Paul Brook <pbrook> 07/11/18 14:33:24 >> >> Modified files: >> fpu : softfloat-specialize.h softfloat.c softfloat.h >> target-arm/nwfpe: double_cpdo.c single_cpdo.c >> target-m68k : helper.c op.c >> target-mips : op_helper.c >> >> Log message: >> Add strict checking mode for softfp code. > > This commit has broken sparc-softmmu, for example Aurora 1.0 normally prints: > Running anaconda - please wait... There are also FPU regressions for mips-softmmu, but I haven't found time to find the commit that has broken it, I just know it has been broken over the week-end. More later... -- .''`. Aurelien Jarno | GPG: 1024D/F1BCDB73 : :' : Debian developer | Electrical Engineer `. `' aurel32@debian.org | aurelien@aurel32.net `- people.debian.org/~aurel32 | www.aurel32.net ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] qemu fpu/softfloat-specialize.h fpu/softfloat.c... 2007-11-21 8:51 ` Aurelien Jarno @ 2007-11-21 10:40 ` Aurelien Jarno 2007-11-21 15:10 ` Aurelien Jarno 0 siblings, 1 reply; 10+ messages in thread From: Aurelien Jarno @ 2007-11-21 10:40 UTC (permalink / raw) To: qemu-devel Aurelien Jarno a écrit : > Blue Swirl a écrit : >> On 11/18/07, Paul Brook <paul@nowt.org> wrote: >>> CVSROOT: /sources/qemu >>> Module name: qemu >>> Changes by: Paul Brook <pbrook> 07/11/18 14:33:24 >>> >>> Modified files: >>> fpu : softfloat-specialize.h softfloat.c softfloat.h >>> target-arm/nwfpe: double_cpdo.c single_cpdo.c >>> target-m68k : helper.c op.c >>> target-mips : op_helper.c >>> >>> Log message: >>> Add strict checking mode for softfp code. >> This commit has broken sparc-softmmu, for example Aurora 1.0 normally prints: >> Running anaconda - please wait... > > There are also FPU regressions for mips-softmmu, but I haven't found > time to find the commit that has broken it, I just know it has been > broken over the week-end. > > More later... I am now able to confirm this very same commit has also broken the FPU on mips-softmmu, but I still don't know what is wrong in this commit. -- .''`. Aurelien Jarno | GPG: 1024D/F1BCDB73 : :' : Debian developer | Electrical Engineer `. `' aurel32@debian.org | aurelien@aurel32.net `- people.debian.org/~aurel32 | www.aurel32.net ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] qemu fpu/softfloat-specialize.h fpu/softfloat.c... 2007-11-21 10:40 ` Aurelien Jarno @ 2007-11-21 15:10 ` Aurelien Jarno 2007-11-21 15:32 ` Paul Brook 0 siblings, 1 reply; 10+ messages in thread From: Aurelien Jarno @ 2007-11-21 15:10 UTC (permalink / raw) To: qemu-devel; +Cc: paul On Wed, Nov 21, 2007 at 11:40:13AM +0100, Aurelien Jarno wrote: > Aurelien Jarno a écrit : > > Blue Swirl a écrit : > >> On 11/18/07, Paul Brook <paul@nowt.org> wrote: > >>> CVSROOT: /sources/qemu > >>> Module name: qemu > >>> Changes by: Paul Brook <pbrook> 07/11/18 14:33:24 > >>> > >>> Modified files: > >>> fpu : softfloat-specialize.h softfloat.c softfloat.h > >>> target-arm/nwfpe: double_cpdo.c single_cpdo.c > >>> target-m68k : helper.c op.c > >>> target-mips : op_helper.c > >>> > >>> Log message: > >>> Add strict checking mode for softfp code. > >> This commit has broken sparc-softmmu, for example Aurora 1.0 normally prints: > >> Running anaconda - please wait... > > > > There are also FPU regressions for mips-softmmu, but I haven't found > > time to find the commit that has broken it, I just know it has been > > broken over the week-end. > > > > More later... > > I am now able to confirm this very same commit has also broken the FPU > on mips-softmmu, but I still don't know what is wrong in this commit. > Ok the problem comes from bad copy&paste. Please find a patch below that fixes the problem on MIPS. Index: fpu/softfloat.c =================================================================== RCS file: /sources/qemu/qemu/fpu/softfloat.c,v retrieving revision 1.8 diff -u -d -p -r1.8 softfloat.c --- fpu/softfloat.c 18 Nov 2007 14:33:23 -0000 1.8 +++ fpu/softfloat.c 21 Nov 2007 15:06:19 -0000 @@ -3012,7 +3012,7 @@ int float64_eq( float64 a, float64 b STA return 0; } av = float64_val(a); - bv = float64_val(a); + bv = float64_val(b); return ( av == bv ) || ( (bits64) ( ( av | bv )<<1 ) == 0 ); } @@ -3038,7 +3038,7 @@ int float64_le( float64 a, float64 b STA aSign = extractFloat64Sign( a ); bSign = extractFloat64Sign( b ); av = float64_val(a); - bv = float64_val(a); + bv = float64_val(b); if ( aSign != bSign ) return aSign || ( (bits64) ( ( av | bv )<<1 ) == 0 ); return ( av == bv ) || ( aSign ^ ( av < bv ) ); @@ -3064,7 +3064,7 @@ int float64_lt( float64 a, float64 b STA aSign = extractFloat64Sign( a ); bSign = extractFloat64Sign( b ); av = float64_val(a); - bv = float64_val(a); + bv = float64_val(b); if ( aSign != bSign ) return aSign && ( (bits64) ( ( av | bv )<<1 ) != 0 ); return ( av != bv ) && ( aSign ^ ( av < bv ) ); @@ -3088,7 +3088,7 @@ int float64_eq_signaling( float64 a, flo return 0; } av = float64_val(a); - bv = float64_val(a); + bv = float64_val(b); return ( av == bv ) || ( (bits64) ( ( av | bv )<<1 ) == 0 ); } @@ -3116,7 +3116,7 @@ int float64_le_quiet( float64 a, float64 aSign = extractFloat64Sign( a ); bSign = extractFloat64Sign( b ); av = float64_val(a); - bv = float64_val(a); + bv = float64_val(b); if ( aSign != bSign ) return aSign || ( (bits64) ( ( av | bv )<<1 ) == 0 ); return ( av == bv ) || ( aSign ^ ( av < bv ) ); @@ -3145,7 +3145,7 @@ int float64_lt_quiet( float64 a, float64 aSign = extractFloat64Sign( a ); bSign = extractFloat64Sign( b ); av = float64_val(a); - bv = float64_val(a); + bv = float64_val(b); if ( aSign != bSign ) return aSign && ( (bits64) ( ( av | bv )<<1 ) != 0 ); return ( av != bv ) && ( aSign ^ ( av < bv ) ); -- .''`. Aurelien Jarno | GPG: 1024D/F1BCDB73 : :' : Debian developer | Electrical Engineer `. `' aurel32@debian.org | aurelien@aurel32.net `- people.debian.org/~aurel32 | www.aurel32.net ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] qemu fpu/softfloat-specialize.h fpu/softfloat.c... 2007-11-21 15:10 ` Aurelien Jarno @ 2007-11-21 15:32 ` Paul Brook 2007-11-21 15:55 ` Eduardo Felipe 2007-11-22 0:48 ` Thiemo Seufer 0 siblings, 2 replies; 10+ messages in thread From: Paul Brook @ 2007-11-21 15:32 UTC (permalink / raw) To: qemu-devel; +Cc: Aurelien Jarno > Ok the problem comes from bad copy&paste. Please find a patch below that > fixes the problem on MIPS. > > av = float64_val(a); > - bv = float64_val(a); > + bv = float64_val(b); Applied, thanks for tracking this down. Sorry about the breakage. Paul ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] qemu fpu/softfloat-specialize.h fpu/softfloat.c... 2007-11-21 15:32 ` Paul Brook @ 2007-11-21 15:55 ` Eduardo Felipe 2007-11-21 18:58 ` Blue Swirl 2007-11-22 0:48 ` Thiemo Seufer 1 sibling, 1 reply; 10+ messages in thread From: Eduardo Felipe @ 2007-11-21 15:55 UTC (permalink / raw) To: qemu-devel [-- Attachment #1: Type: text/plain, Size: 466 bytes --] 2007/11/21, Paul Brook <paul@nowt.org>: > > > Ok the problem comes from bad copy&paste. Please find a patch below that > > fixes the problem on MIPS. > > > > av = float64_val(a); > > - bv = float64_val(a); > > + bv = float64_val(b); > > Applied, thanks for tracking this down. Sorry about the breakage. > > Paul > > > Hi, Shouldn't these lines in COMPARE be fixed also? av = float ## s ## _val(a); \ bv = float ## s ## _val(a); \ Regards, Edu [-- Attachment #2: Type: text/html, Size: 1419 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] qemu fpu/softfloat-specialize.h fpu/softfloat.c... 2007-11-21 15:55 ` Eduardo Felipe @ 2007-11-21 18:58 ` Blue Swirl 0 siblings, 0 replies; 10+ messages in thread From: Blue Swirl @ 2007-11-21 18:58 UTC (permalink / raw) To: qemu-devel On 11/21/07, Eduardo Felipe <edusaper@gmail.com> wrote: > > > 2007/11/21, Paul Brook <paul@nowt.org>: > > > Ok the problem comes from bad copy&paste. Please find a patch below that > > > fixes the problem on MIPS. > > > > > > av = float64_val(a); > > > - bv = float64_val(a); > > > + bv = float64_val(b); > > > > Applied, thanks for tracking this down. Sorry about the breakage. > > > > Paul > > > > > > > > > Hi, > > Shouldn't these lines in COMPARE be fixed also? > > av = float ## s ## _val(a); > \ > bv = float ## s ## _val(a); > \ > > Regards, > Edu Thanks, this fixes the Sparc boot FPU problem. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] qemu fpu/softfloat-specialize.h fpu/softfloat.c... 2007-11-21 15:32 ` Paul Brook 2007-11-21 15:55 ` Eduardo Felipe @ 2007-11-22 0:48 ` Thiemo Seufer 1 sibling, 0 replies; 10+ messages in thread From: Thiemo Seufer @ 2007-11-22 0:48 UTC (permalink / raw) To: Paul Brook; +Cc: qemu-devel, Aurelien Jarno Paul Brook wrote: > > Ok the problem comes from bad copy&paste. Please find a patch below that > > fixes the problem on MIPS. > > > > av = float64_val(a); > > - bv = float64_val(a); > > + bv = float64_val(b); > > Applied, thanks for tracking this down. Sorry about the breakage. I saw the FP breakage as well and can confirm it now works again. Thanks, Thiemo ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2007-11-22 0:48 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2007-11-18 14:33 [Qemu-devel] qemu fpu/softfloat-specialize.h fpu/softfloat.c Paul Brook 2007-11-20 20:17 ` Blue Swirl 2007-11-20 20:42 ` Paul Brook 2007-11-21 8:51 ` Aurelien Jarno 2007-11-21 10:40 ` Aurelien Jarno 2007-11-21 15:10 ` Aurelien Jarno 2007-11-21 15:32 ` Paul Brook 2007-11-21 15:55 ` Eduardo Felipe 2007-11-21 18:58 ` Blue Swirl 2007-11-22 0:48 ` Thiemo Seufer
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).