19 October 2018, 16:52 | #241 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,574
|
Which test number? (I never do any extra work when there is no need..)
EDIT: Try winuae.7z because I yesterday found one bug that used wrong size but oddly enough no unix-like OS cared.. Last edited by Toni Wilen; 19 October 2018 at 17:00. |
19 October 2018, 16:55 | #242 |
Banned
Join Date: Sep 2016
Location: UK
Posts: 2,917
|
|
19 October 2018, 17:22 | #243 |
Moderator
Join Date: Nov 2001
Location: Germany
Posts: 876
|
winuae.7z works
|
19 October 2018, 20:33 | #244 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,574
|
Great. I am still wondering how anything could have ever worked with that bug..
Could you also test MOVES? Does SSW FC bits also modify MOVES's retried access? It probably does but MOVES is a special kind of instruction (only one that can do memory accesses using different FC mode) so there could be differences. |
19 October 2018, 20:53 | #245 | ||
Moderator
Join Date: Nov 2001
Location: Germany
Posts: 876
|
Quote:
Quote:
It's a bit difficult to test this under whdload because of the exception handler in whdload. It makes some things invisible. Still trying. |
||
20 October 2018, 00:01 | #246 |
Moderator
Join Date: Nov 2001
Location: Germany
Posts: 876
|
I have added 4 tests to check supervisor protection.
4105 move from user mode, faults 4106 as above but with fix in af which replaces fc in ssw and retries 4107 moves with sfc=1 mode, faults 4108 as above but with fix in af which replaces fc in ssw and retries First 3 tests succeed with latest WinUAE beta. Last hangs. Not yet tried on real hw. see http://whdload.de/whdload/Harddisk-WHDLoad-Test.zip |
20 October 2018, 09:54 | #247 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,574
|
Thanks!
It seems to work correctly except MOVES which didn't expect to get retried this way and always uses original FC. Next step is to test it using real hardware (I have 68030 boards but first I need to transfer the test which is always boring ) because if MOVES does not support FC modification, I don't need to fix it but simply skip MOVES special retry and generate bus error again. |
20 October 2018, 12:04 | #248 | |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,574
|
Tested on real hardware. 4105-4107 works identically.
Quote:
34108 -> FAILED expected OK got EXCEPTION Exception "Illegal Instruction" ($10) at $20200 occured. Weird.. EDIT: I added MOVES SSW FC modification support and now I get same illegal instruction exception (bug in this test?). So I guess this confirms MOVES is also affected Last edited by Toni Wilen; 20 October 2018 at 12:44. |
|
20 October 2018, 22:04 | #249 |
Moderator
Join Date: Nov 2001
Location: Germany
Posts: 876
|
Yes this was bad test code ("jmp (a0)" instead rts).
If you want updated please let me know. |
21 October 2018, 14:02 | #250 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,574
|
That fix isn't important but could you do some more tests:
Fill the target address with some pattern Supervisor protect it. Write long in user mode (with different data pattern than already in memory) In access fault handler change SSW FC to supervisor and ALSO change SSW size to byte and then retry it. Check target memory by comparing written data with original data. Did it write long or only byte? If only byte was written: same test using read. If you use someting like move.l (a0),d0 prefill d0 with some pattern, then change SSW FC and size again. Did D0 change completely or did only byte part change? |
23 October 2018, 10:16 | #251 |
Moderator
Join Date: Nov 2001
Location: Germany
Posts: 876
|
I've added both tests:
4109 write 4110 read Not tested on real hw yet. I'm unsure if 4109 is correct because adjustment of data because size change l->b. In WinUAE 4109 fails and 4110 succeeds. You only need to exchange the qa.asm (see lines 3000ff). Full zip is nevertheless updated too. |
23 October 2018, 18:24 | #252 | |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,574
|
Quote:
(I'd like to do some simple test program but creating full valid MMU table for 68030 is too painful..) |
|
23 October 2018, 20:47 | #253 |
Moderator
Join Date: Nov 2001
Location: Germany
Posts: 876
|
Yes. Use command tr instead t (tr 4109).
This will show whdload requester. Then click on Show Regs. preinit memory value is $12345678 4109 written was $aabbccdd, d2=value afterwards 4110 d1 cleared, d1=value afterwards |
23 October 2018, 21:23 | #254 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,574
|
This seems to work identically on real hardware.
I changed SFC to DFC. Now it does something but register dump shows D1 = $20592034 and D2 = $d2d22e0e which does not make any sense.. D1 was supposed to be original value ($aabbccdd) and D2 returned value. D0 = 1 which seems to be correct (value written to DFC). Does _failmsg change registers? (btw, please, add leading zeros to register dump) |
23 October 2018, 23:41 | #255 |
Moderator
Join Date: Nov 2001
Location: Germany
Posts: 876
|
4109:
after correction sfc to dfc and changing the expected result to d2=aa345678 this works on my hardware 4110: looks a bit strange, d1 contains 2078 after the read, I would expect 78 instead, either I have overseen something or the cpu is doing word transfer and leading 20 is some relict no why should I do? |
27 October 2018, 17:25 | #256 | ||
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,574
|
Quote:
Quote:
|
||
28 October 2018, 18:16 | #257 |
Moderator
Join Date: Nov 2001
Location: Germany
Posts: 876
|
|
29 October 2018, 13:23 | #258 |
Registered User
Join Date: Aug 2014
Location: Zagreb / Croatia
Posts: 302
|
Or at least put $ (dollar) sign as prefix. It's ok if you write something for yourself your way, but when you write for others it's good to mark somehow that it is not decimal.
|
24 November 2018, 21:05 | #259 | |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,574
|
(from old post)
Quote:
I'll probably emulate this after 4.1.0 is out. |
|
19 January 2019, 10:43 | #260 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,574
|
Implemented now.
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
68040 vs 68060 | tesla | support.Hardware | 10 | 20 April 2013 19:13 |
68040 MMU jsr/bsr | Toni Wilen | Coders. General | 5 | 28 April 2010 20:57 |
68060 fpu not available mmu not active | amigarlz | support.Hardware | 6 | 18 March 2010 06:35 |
WTB: 68030 or 68040 accelerator for A2000 | Shadowfire | MarketPlace | 2 | 19 September 2009 17:52 |
68030/mmu Support in WinUAE | dkovacs | request.UAE Wishlist | 19 | 22 August 2005 14:42 |
|
|