>> Actually, system_reboot() is correct only for iriver.
>> Jmp-ing to 0x4 is utterly wrong in the X5; you should either jmp to 
>> 0x0 (the
>> preloader) or to 0x10000 (RB bootloader)

>I find that extremely hard to believe, since vector 0 is the initial stack
pointer.

That explains why

ROM:00000000 1001                      move.b  d1,d0
ROM:00000002 8000                      or.b    d0,d0
ROM:00000004 0000 0008                 ori.b   #8,d0

doesn't make sense...
However, see how the OF does it:

seg018:30EB8C3A           reboot:                                 ; DATA
XREF: p_PMU_handle_event+72
seg018:30EB8C3A 2E7C 3100+                movea.l #$31000000,sp
seg018:30EB8C40 207C 0000+                movea.l #8,a0
seg018:30EB8C46 4ED0                      jmp     (a0)

I wonder what is stored at 0x4, though.

(all asm excerpts are from OF v 2.10-e)


Reply via email to