Login
Username:

Password:

Remember me



Lost Password?

Register now!
Main Menu
Who's Online
1 user(s) are online (1 user(s) are browsing Forum)

Members: 0
Guests: 1

more...

Browsing this Thread:   1 Anonymous Users



« 1 2 (3)


Re: (JANUS-UAE) Is today's nightly build for 68K running for you?

Joined:
2005/6/16 11:11
Group:
Member
Posts: 604
Offline
Enabling debug in cia_init.c:

[EXECInitCodecalling InitResident (92 81 "hiddclass.hidd")
[
EXECInitCodecalling InitResident (80 01 "cia.resource")
CIA-A 10062418


hang.

Posted on: 6/19 4:38
Transfer the post to other applications Transfer


Re: (JANUS-UAE) Is today's nightly build for 68K running for you?

Joined:
2004/3/29 9:54
From Scotland "The Cold"
Group:
Member
Posts: 2023
Offline
Quote:

o1i wrote:
Enabling debug in cia_init.c:

[EXECInitCodecalling InitResident (92 81 "hiddclass.hidd")
[
EXECInitCodecalling InitResident (80 01 "cia.resource")
CIA-A 10062418


hang.


# Add debug between the last displayed output and the next debug statement, to try and pinpoint where it fails.

# Examine the generated asm and make sure the ordering of operations on base->hw is correct


Posted on: 6/19 4:59
_________________
Click to see original Image in a new window
Transfer the post to other applications Transfer


Re: (JANUS-UAE) Is today's nightly build for 68K running for you?

Joined:
2005/6/16 11:11
Group:
Member
Posts: 604
Offline
Ok, this bug was easy to find, the enabling of SERIAL_PORT in juae causes this hang...

Without serial port defined (and without serial debug then), AROS reaches the Kickstart screen (both with and without JIT), if no harddrive is connected.

If harddrive is connected, the crash happens like above (serial debug hang comes later) in m68k-amiga/diag/diag.c copyromdata()

If I remove the CopyMem call in diag.c, then AROS boots into Wanderer (whihtout serial port of course):

#if 0
      
CopyMem((void*)romoutsize);
#endif
      
{
        
UWORD i;
        for(
i=i<size i++) {
          
out[i]=rom[i];
        }
      }

Posted on: 6/19 5:49

Edited by o1i on 2017/6/19 7:15:31
Edited by o1i on 2017/6/19 7:16:48
Edited by o1i on 2017/6/19 7:22:29
Transfer the post to other applications Transfer


Re: (JANUS-UAE) Is today's nightly build for 68K running for you?

Joined:
2011/5/10 23:05
Group:
Member
Posts: 76
Offline
JIT problem = anything is possible, unrelated change can cause unexpected side-effects. Adding or removing debug statements most likely only moves the problem around really mysteriously.


Posted on: 6/19 7:32
Transfer the post to other applications Transfer


Re: (JANUS-UAE) Is today's nightly build for 68K running for you?

Joined:
2005/6/16 11:11
Group:
Member
Posts: 604
Offline
To sum it up:

Using CopyMem in diag.c crashes badly, if jit is enabled.

In all other places, where CopyMem is used, it seems to be fine, even if jit is enabled.

Debugging copymem (version in copymem_.S is used, exec is not yet patched to use optimized version) reveals total chaos. The input registers are ok, but then the CopyMem() program flow is totally inconsistent with the 68k object code. One call to CopyMem() in the C source results in multiple calls during jit runtime, which are interrupted/ended and restarted without any reason (and any branch opcode at all at those places). Registers loose the content without even being touched by the real 68k object code. At the end of the CopyMem call, most registers are trashed and the stack pointer is somewhere .. but not where it should be. Quite eerie .

Running it without jit, everything is fine. Program flow, registers, stack all like it should be.

maybe the movem instructions cause problems. No idea, why they worked so far. But as Toni said, anything is possible .

The only quick fix I can offer is to replace the CopyMem call with a for()-loop in the AROS/m68k-all sources. Which of course is a bad thing (TM), as it fixes the symptoms only and is a strange thing to do for all other platforms. I am against this hack, it feels wrong.

On the other hand, speed-penalty is none, it makes no difference, if 512 bytes are copied optimized or not during boot time, even on a blank 7Mhz Amiga.

Posted on: 6/20 7:37
Transfer the post to other applications Transfer



« 1 2 (3)



You can view topic.
You cannot start a new topic.
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.

[Advanced Search]


Search
Top Posters
1 paolone
paolone
4341
2 magorium
magorium
4095
3 phoenixkonsole
phoenixkonsole
3887
4 nikolaos
nikolaos
3677
5 deadwood
deadwood
2923
6 ncafferkey
ncafferkey
2623
7 mazze
mazze
2213
8 clusteruk
clusteruk
2097
9 Kalamatee
Kalamatee
2023
10 damocles
damocles
1789
© 2004-2017 AROS Exec