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.