revert between 56095 -> 55830 in arch
[AROS.git] / arch / m68k-amiga / exec / coldreboot.c
blob41454711418626346008bfe2441a824516fd739a
1 /*
2 Copyright © 1995-2013, The AROS Development Team. All rights reserved.
3 $Id$
5 Desc: ColdReboot() - Reboot the computer.
6 Lang: english
7 */
9 #include <aros/debug.h>
11 #include "exec_intern.h"
12 #include "exec_util.h"
14 extern void Exec_MagicResetCode(void);
15 /* Reset everything but the CPU, then restart
16 * at the ROM exception vector
18 asm (
19 " .text\n"
20 " .align 4\n"
21 " .globl Exec_MagicResetCode\n"
22 "Exec_MagicResetCode:\n"
23 " nop\n"
24 " move.l #2,%a0\n"
25 " reset\n"
26 " jmp (%a0)\n"
30 #include <proto/exec.h>
32 /* See rom/exec/coldreboot.c for documentation */
34 AROS_LH0(void, ColdReboot,
35 struct ExecBase *, SysBase, 121, Exec)
37 AROS_LIBFUNC_INIT
39 /* Disable interrupts, and do all the reset callbacks
41 Exec_DoResetCallbacks((struct IntExecBase *)SysBase, SD_ACTION_WARMREBOOT);
43 Supervisor((ULONG_FUNC)Exec_MagicResetCode);
45 AROS_LIBFUNC_EXIT
46 } /* ColdReboot() */