2 Copyright © 1995-2001, The AROS Development Team. All rights reserved.
6 /*****************************************************************************
10 AROS_LH0(void, ColdReboot,
15 struct ExecBase *, SysBase, 121, Exec)
25 This function never returns.
37 ******************************************************************************/
43 .globl AROS_SLIB_ENTRY(ColdReboot,Exec)
44 .type AROS_SLIB_ENTRY(ColdReboot,Exec),@function
45 AROS_SLIB_ENTRY
(ColdReboot
,Exec
):
46 move.w
#0x4000,custom+intena /* disable */
47 moveq.
l #0,d0 /* cache bits */
48 moveq.
l #-1,d1 /* cache mask */
49 jsr CacheControl
(a6
) /* disable all cache modes */
51 lea.
l resetus
(pc
),a5
/* actual reset routine */
52 jsr Supervisor
(a6
) /* supervisor mode, ofcourse */
56 lea.
l 0x1000000,a0
/* end of rom */
57 sub.l -0x14(a0
),a0
/* subtract size of rom */
58 move.
l 4(a0
),a0
/* get vector from rom+4 */
59 subq.w
#2,a0 /* point to reset instruction */
60 reset
/* reset stuff */
61 jmp
(a0
) /* this instruction was still in prefetch */