Re: [hatari-devel] Possible bug in 060 exception stack frames

[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]


>> Does it really have all tests enabled? I don't get any unsupported
> 
>> FMOVEM calls when I run it.
> 
> Yes, they are part of the "Unimplemented <ea>" tests, the first group of
> tests executed (from the FPU tests, the integer tests are executed
> before that)

I still don't see them being executed.

>>FMOVEM updates -(an)/(an)+ last
> 
> Hm, ok. But i can still reproduce the crash when i turn of softfloat
> emulation. With softfloat, everything works now, without any errors.

Which probably explains why it works fine here in both modes. Or it is
normal. FPU exceptions without softfloat is not reliable if FPSP code
has FPU instructions and they don't work exactly like real 68060.

--

Real 68040 results:

Testing 68060 ISP started:
	64-bit multiply...3 failed
	64-bit divide...passed
	cmp2,chk2...passed
	movep...1 failed
	Effective addresses...passed
	cas...passed
	cas2...passed
Testing 68060 FPSP started:
	Unimplemented <ea>...passed
	Unimplemented data type/format...passed
	Non-maskable overflow...passed
	Non-maskable underflow...passed
Testing 68060 FPSP unimplemented instruction started:
	Unimplemented FP instructions...failed: 00000004
expected:
    FPCR=00000000 FPSR=0f008080 FPIAR=070d469a
    FP0= 7fff0000 ffffffff ffffffff
    FP1= 7fff0000 ffffffff ffffffff
    FP2= 7fff0000 ffffffff ffffffff
    FP3= 7fff0000 ffffffff ffffffff
    FP4= 7fff0000 ffffffff ffffffff
    FP5= 7fff0000 ffffffff ffffffff
    FP6= 7fff0000 ffffffff ffffffff
    FP7= 7fff0000 ffffffff ffffffff
got:
    FPCR=00000000 FPSR=0f008080 FPIAR=00000000
    FP0= 7fff0000 ffffffff ffffffff
    FP1= 7fff0000 ffffffff ffffffff
    FP2= 7fff0000 ffffffff ffffffff
    FP3= 7fff0000 ffffffff ffffffff
    FP4= 7fff0000 ffffffff ffffffff
    FP5= 7fff0000 ffffffff ffffffff
    FP6= 7fff0000 ffffffff ffffffff
    FP7= 7fff0000 ffffffff ffffffff

failed: 00000005
expected:
    FPCR=00000000 FPSR=0f008080 FPIAR=070d4718
    FP0= 7fff0000 ffffffff ffffffff
    FP1= 7fff0000 ffffffff ffffffff
    FP2= 7fff0000 ffffffff ffffffff
    FP3= 7fff0000 ffffffff ffffffff
    FP4= 7fff0000 ffffffff ffffffff
    FP5= 7fff0000 ffffffff ffffffff
    FP6= 7fff0000 ffffffff ffffffff
    FP7= 7fff0000 ffffffff ffffffff
got:
    FPCR=00000000 FPSR=0f008080 FPIAR=00000000
    FP0= 7fff0000 ffffffff ffffffff
    FP1= 7fff0000 ffffffff ffffffff
    FP2= 7fff0000 ffffffff ffffffff
    FP3= 7fff0000 ffffffff ffffffff
    FP4= 7fff0000 ffffffff ffffffff
    FP5= 7fff0000 ffffffff ffffffff
    FP6= 7fff0000 ffffffff ffffffff
    FP7= 7fff0000 ffffffff ffffffff

failed: 00000006
expected:
    FPCR=00000000 FPSR=0f008080 FPIAR=070d479c
    FP0= 7fff0000 ffffffff ffffffff
    FP1= 7fff0000 ffffffff ffffffff
    FP2= 7fff0000 ffffffff ffffffff
    FP3= 7fff0000 ffffffff ffffffff
    FP4= 7fff0000 ffffffff ffffffff
    FP5= 7fff0000 ffffffff ffffffff
    FP6= 7fff0000 ffffffff ffffffff
    FP7= 7fff0000 ffffffff ffffffff
got:
    FPCR=00000000 FPSR=0f008080 FPIAR=00000000
    FP0= 7fff0000 ffffffff ffffffff
    FP1= 7fff0000 ffffffff ffffffff
    FP2= 7fff0000 ffffffff ffffffff
    FP3= 7fff0000 ffffffff ffffffff
    FP4= 7fff0000 ffffffff ffffffff
    FP5= 7fff0000 ffffffff ffffffff
    FP6= 7fff0000 ffffffff ffffffff
    FP7= 7fff0000 ffffffff ffffffff

6 failed
Testing 68060 FPSP exception enabled started:
	Enabled SNAN...

Crash here because it executed uninitialized exception vector.

68040 does not set FPIAR if instruction didn't generate any exceptions.
68060 sets it almost always.

MOVEP error was also unexpected. After today's commit UAE results are
identical except MOVEP.


Real 68882 results:

Testing 68060 ISP started:
	64-bit multiply...passed
	64-bit divide...5 failed
	cmp2,chk2...4 failed
	movep...passed
	Effective addresses...passed
	cas...passed
	cas2...passed
Testing 68060 FPSP started:
	Unimplemented <ea>...failed: 00000001
expected:
    FPCR=00000000 FPSR=08000000 FPIAR=0029b00e
    FP0= c0010000 80000000 00000000
    FP1= 7fff0000 ffffffff ffffffff
    FP2= 7fff0000 ffffffff ffffffff
    FP3= 7fff0000 ffffffff ffffffff
    FP4= 7fff0000 ffffffff ffffffff
    FP5= 7fff0000 ffffffff ffffffff
    FP6= 7fff0000 ffffffff ffffffff
    FP7= 7fff0000 ffffffff ffffffff
got:
    FPCR=00000000 FPSR=08000000 FPIAR=00000000
    FP0= c0010000 80000000 00000000
    FP1= 7fff0000 ffffffff ffffffff
    FP2= 7fff0000 ffffffff ffffffff
    FP3= 7fff0000 ffffffff ffffffff
    FP4= 7fff0000 ffffffff ffffffff
    FP5= 7fff0000 ffffffff ffffffff
    FP6= 7fff0000 ffffffff ffffffff
    FP7= 7fff0000 ffffffff ffffffff

failed: 00000002
expected:
    FPCR=00000000 FPSR=00000108 FPIAR=0029b0a6
    FP0= 3e660000 d0ed23e8 d14035bc
    FP1= 7fff0000 ffffffff ffffffff
    FP2= 7fff0000 ffffffff ffffffff
    FP3= 7fff0000 ffffffff ffffffff
    FP4= 7fff0000 ffffffff ffffffff
    FP5= 7fff0000 ffffffff ffffffff
    FP6= 7fff0000 ffffffff ffffffff
    FP7= 7fff0000 ffffffff ffffffff
got:
    FPCR=00000000 FPSR=00000108 FPIAR=00000000
    FP0= 3e660000 d0ed23e8 d14035bc
    FP1= 7fff0000 ffffffff ffffffff
    FP2= 7fff0000 ffffffff ffffffff
    FP3= 7fff0000 ffffffff ffffffff
    FP4= 7fff0000 ffffffff ffffffff
    FP5= 7fff0000 ffffffff ffffffff
    FP6= 7fff0000 ffffffff ffffffff
    FP7= 7fff0000 ffffffff ffffffff

2 failed
	Unimplemented data type/format...failed: 00000001
expected:
    FPCR=00000000 FPSR=08000000 FPIAR=0029bc32
    FP0= c0010000 80000000 00000000
    FP1= 7fff0000 ffffffff ffffffff
    FP2= 7fff0000 ffffffff ffffffff
    FP3= 7fff0000 ffffffff ffffffff
    FP4= 7fff0000 ffffffff ffffffff
    FP5= 7fff0000 ffffffff ffffffff
    FP6= 7fff0000 ffffffff ffffffff
    FP7= 7fff0000 ffffffff ffffffff
got:
    FPCR=00000000 FPSR=08000000 FPIAR=00000000
    FP0= c0010000 80000000 00000000
    FP1= 7fff0000 ffffffff ffffffff
    FP2= 7fff0000 ffffffff ffffffff
    FP3= 7fff0000 ffffffff ffffffff
    FP4= 7fff0000 ffffffff ffffffff
    FP5= 7fff0000 ffffffff ffffffff
    FP6= 7fff0000 ffffffff ffffffff
    FP7= 7fff0000 ffffffff ffffffff

failed: 00000002
expected:
    FPCR=00000000 FPSR=08000000 FPIAR=0029bce0
    FP0= 80170000 fffffffe 00000000
    FP1= 7fff0000 ffffffff ffffffff
    FP2= 7fff0000 ffffffff ffffffff
    FP3= 7fff0000 ffffffff ffffffff
    FP4= 7fff0000 ffffffff ffffffff
    FP5= 7fff0000 ffffffff ffffffff
    FP6= 7fff0000 ffffffff ffffffff
    FP7= 7fff0000 ffffffff ffffffff
got:
    FPCR=00000000 FPSR=08000000 FPIAR=00000000
    FP0= 80170000 fffffffe 00000000
    FP1= 7fff0000 ffffffff ffffffff
    FP2= 7fff0000 ffffffff ffffffff
    FP3= 7fff0000 ffffffff ffffffff
    FP4= 7fff0000 ffffffff ffffffff
    FP5= 7fff0000 ffffffff ffffffff
    FP6= 7fff0000 ffffffff ffffffff
    FP7= 7fff0000 ffffffff ffffffff

failed: 00000003
expected:
    FPCR=00000000 FPSR=00000108 FPIAR=0029bd86
    FP0= 3e660000 d0ed23e8 d14035bc
    FP1= 7fff0000 ffffffff ffffffff
    FP2= 7fff0000 ffffffff ffffffff
    FP3= 7fff0000 ffffffff ffffffff
    FP4= 7fff0000 ffffffff ffffffff
    FP5= 7fff0000 ffffffff ffffffff
    FP6= 7fff0000 ffffffff ffffffff
    FP7= 7fff0000 ffffffff ffffffff
got:
    FPCR=00000000 FPSR=00000108 FPIAR=00000000
    FP0= 3e660000 d0ed23e8 d14035bc
    FP1= 7fff0000 ffffffff ffffffff
    FP2= 7fff0000 ffffffff ffffffff
    FP3= 7fff0000 ffffffff ffffffff
    FP4= 7fff0000 ffffffff ffffffff
    FP5= 7fff0000 ffffffff ffffffff
    FP6= 7fff0000 ffffffff ffffffff
    FP7= 7fff0000 ffffffff ffffffff

3 failed
	Non-maskable overflow...failed: 00000001
expected:
    FPCR=00000000 FPSR=02001048 FPIAR=0029b5c2
    FP0= 7fff0000 00000000 00000000
    FP1= 7fff0000 ffffffff ffffffff
    FP2= 7fff0000 ffffffff ffffffff
    FP3= 7fff0000 ffffffff ffffffff
    FP4= 7fff0000 ffffffff ffffffff
    FP5= 7fff0000 ffffffff ffffffff
    FP6= 7fff0000 ffffffff ffffffff
    FP7= 7fff0000 ffffffff ffffffff
got:
    FPCR=00000000 FPSR=02001048 FPIAR=00000000
    FP0= 7fff0000 00000000 00000000
    FP1= 7fff0000 ffffffff ffffffff
    FP2= 7fff0000 ffffffff ffffffff
    FP3= 7fff0000 ffffffff ffffffff
    FP4= 7fff0000 ffffffff ffffffff
    FP5= 7fff0000 ffffffff ffffffff
    FP6= 7fff0000 ffffffff ffffffff
    FP7= 7fff0000 ffffffff ffffffff

1 failed
	Non-maskable underflow...failed: 00000001
expected:
    FPCR=00000000 FPSR=00000800 FPIAR=0029b82e
    FP0= 00000000 40000000 00000000
    FP1= 7fff0000 ffffffff ffffffff
    FP2= 7fff0000 ffffffff ffffffff
    FP3= 7fff0000 ffffffff ffffffff
    FP4= 7fff0000 ffffffff ffffffff
    FP5= 7fff0000 ffffffff ffffffff
    FP6= 7fff0000 ffffffff ffffffff
    FP7= 7fff0000 ffffffff ffffffff
got:
    FPCR=00000000 FPSR=00000800 FPIAR=00000000
    FP0= 00000000 40000000 00000000
    FP1= 7fff0000 ffffffff ffffffff
    FP2= 7fff0000 ffffffff ffffffff
    FP3= 7fff0000 ffffffff ffffffff
    FP4= 7fff0000 ffffffff ffffffff
    FP5= 7fff0000 ffffffff ffffffff
    FP6= 7fff0000 ffffffff ffffffff
    FP7= 7fff0000 ffffffff ffffffff

1 failed
Testing 68060 FPSP unimplemented instruction started:
	Unimplemented FP instructions...failed: 00000001
expected:
    FPCR=00000000 FPSR=08000208 FPIAR=0029aca8
    FP0= bfbf0000 80000000 00000000
    FP1= 7fff0000 ffffffff ffffffff
    FP2= 7fff0000 ffffffff ffffffff
    FP3= 7fff0000 ffffffff ffffffff
    FP4= 7fff0000 ffffffff ffffffff
    FP5= 7fff0000 ffffffff ffffffff
    FP6= 7fff0000 ffffffff ffffffff
    FP7= 7fff0000 ffffffff ffffffff
got:
    FPCR=00000000 FPSR=08000208 FPIAR=00000000
    FP0= bfbf0000 80000000 00000000
    FP1= 7fff0000 ffffffff ffffffff
    FP2= 7fff0000 ffffffff ffffffff
    FP3= 7fff0000 ffffffff ffffffff
    FP4= 7fff0000 ffffffff ffffffff
    FP5= 7fff0000 ffffffff ffffffff
    FP6= 7fff0000 ffffffff ffffffff
    FP7= 7fff0000 ffffffff ffffffff

failed: 00000002
expected:
    FPCR=00000000 FPSR=00000208 FPIAR=0029ad4e
    FP0= 3fff0000 80000000 00000000
    FP1= 7fff0000 ffffffff ffffffff
    FP2= 7fff0000 ffffffff ffffffff
    FP3= 7fff0000 ffffffff ffffffff
    FP4= 7fff0000 ffffffff ffffffff
    FP5= 7fff0000 ffffffff ffffffff
    FP6= 7fff0000 ffffffff ffffffff
    FP7= 7fff0000 ffffffff ffffffff
got:
    FPCR=00000000 FPSR=00000208 FPIAR=00000000
    FP0= 3fff0000 80000000 0000000c
    FP1= 7fff0000 ffffffff ffffffff
    FP2= 7fff0000 ffffffff ffffffff
    FP3= 7fff0000 ffffffff ffffffff
    FP4= 7fff0000 ffffffff ffffffff
    FP5= 7fff0000 ffffffff ffffffff
    FP6= 7fff0000 ffffffff ffffffff
    FP7= 7fff0000 ffffffff ffffffff

failed: 00000003
expected:
    FPCR=00000000 FPSR=00000208 FPIAR=0029addc
    FP0= 40000000 935d8ddd aaa8ac17
    FP1= 7fff0000 ffffffff ffffffff
    FP2= 7fff0000 ffffffff ffffffff
    FP3= 7fff0000 ffffffff ffffffff
    FP4= 7fff0000 ffffffff ffffffff
    FP5= 7fff0000 ffffffff ffffffff
    FP6= 7fff0000 ffffffff ffffffff
    FP7= 7fff0000 ffffffff ffffffff
got:
    FPCR=00000000 FPSR=00000208 FPIAR=00000000
    FP0= 40000000 935d8ddd aaa8ac17
    FP1= 7fff0000 ffffffff ffffffff
    FP2= 7fff0000 ffffffff ffffffff
    FP3= 7fff0000 ffffffff ffffffff
    FP4= 7fff0000 ffffffff ffffffff
    FP5= 7fff0000 ffffffff ffffffff
    FP6= 7fff0000 ffffffff ffffffff
    FP7= 7fff0000 ffffffff ffffffff

failed: 00000004
expected:
    FPCR=00000000 FPSR=0f008080 FPIAR=0029ae72
    FP0= 7fff0000 ffffffff ffffffff
    FP1= 7fff0000 ffffffff ffffffff
    FP2= 7fff0000 ffffffff ffffffff
    FP3= 7fff0000 ffffffff ffffffff
    FP4= 7fff0000 ffffffff ffffffff
    FP5= 7fff0000 ffffffff ffffffff
    FP6= 7fff0000 ffffffff ffffffff
    FP7= 7fff0000 ffffffff ffffffff
got:
    FPCR=00000000 FPSR=0f008080 FPIAR=00000000
    FP0= 7fff0000 ffffffff ffffffff
    FP1= 7fff0000 ffffffff ffffffff
    FP2= 7fff0000 ffffffff ffffffff
    FP3= 7fff0000 ffffffff ffffffff
    FP4= 7fff0000 ffffffff ffffffff
    FP5= 7fff0000 ffffffff ffffffff
    FP6= 7fff0000 ffffffff ffffffff
    FP7= 7fff0000 ffffffff ffffffff

failed: 00000005
expected:
    FPCR=00000000 FPSR=0f008080 FPIAR=0029aef0
    FP0= 7fff0000 ffffffff ffffffff
    FP1= 7fff0000 ffffffff ffffffff
    FP2= 7fff0000 ffffffff ffffffff
    FP3= 7fff0000 ffffffff ffffffff
    FP4= 7fff0000 ffffffff ffffffff
    FP5= 7fff0000 ffffffff ffffffff
    FP6= 7fff0000 ffffffff ffffffff
    FP7= 7fff0000 ffffffff ffffffff
got:
    FPCR=00000000 FPSR=0f008080 FPIAR=00000000
    FP0= 7fff0000 ffffffff ffffffff
    FP1= 7fff0000 ffffffff ffffffff
    FP2= 7fff0000 ffffffff ffffffff
    FP3= 7fff0000 ffffffff ffffffff
    FP4= 7fff0000 ffffffff ffffffff
    FP5= 7fff0000 ffffffff ffffffff
    FP6= 7fff0000 ffffffff ffffffff
    FP7= 7fff0000 ffffffff ffffffff

failed: 00000006
expected:
    FPCR=00000000 FPSR=0f008080 FPIAR=0029af74
    FP0= 7fff0000 ffffffff ffffffff
    FP1= 7fff0000 ffffffff ffffffff
    FP2= 7fff0000 ffffffff ffffffff
    FP3= 7fff0000 ffffffff ffffffff
    FP4= 7fff0000 ffffffff ffffffff
    FP5= 7fff0000 ffffffff ffffffff
    FP6= 7fff0000 ffffffff ffffffff
    FP7= 7fff0000 ffffffff ffffffff
got:
    FPCR=00000000 FPSR=0f008080 FPIAR=00000000
    FP0= 7fff0000 ffffffff ffffffff
    FP1= 7fff0000 ffffffff ffffffff
    FP2= 7fff0000 ffffffff ffffffff
    FP3= 7fff0000 ffffffff ffffffff
    FP4= 7fff0000 ffffffff ffffffff
    FP5= 7fff0000 ffffffff ffffffff
    FP6= 7fff0000 ffffffff ffffffff
    FP7= 7fff0000 ffffffff ffffffff

6 failed
Testing 68060 FPSP exception enabled started:
	Enabled SNAN...

Same crash here.
6888x only sets FPIAR if instruction causes arithmetic exception. UAE
returns same results after today's commit.



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/