change init code to support multiple cards. small fixes and corrections to code.
[AROS.git] / arch / ppc-chrp / exec / coldreboot.c
blobc064915915a9f88bb50ae588a4e7e3d5f35b2ad7
1 /*
2 Copyright © 1995-2010, The AROS Development Team. All rights reserved.
3 $Id$
5 Desc: ColdReboot() - Reboot the computer.
6 Lang: english
7 */
9 #include <exec/types.h>
10 #include <exec/execbase.h>
11 #include <aros/libcall.h>
12 #include <proto/exec.h>
14 #include "exec_util.h"
16 /*****************************************************************************
18 NAME */
20 AROS_LH0(void, ColdReboot,
22 /* LOCATION */
23 struct ExecBase *, SysBase, 121, Exec)
25 /* FUNCTION
26 This function will reboot the computer.
28 INPUTS
29 None.
31 RESULT
32 This function does not return.
34 NOTES
35 It can be quite harmful to call this function. It may be possible that
36 you will lose data from other tasks not having saved, or disk buffers
37 not being flushed. Plus you could annoy the (other) users.
39 EXAMPLE
41 BUGS
43 SEE ALSO
45 INTERNALS
46 This function is not really necessary, and could be left unimplemented
47 on many systems. It is best when using this function to allow the memory
48 contents to remain as they are, since some programs may use this
49 function when installing resident modules.
51 HISTORY
53 ******************************************************************************/
55 AROS_LIBFUNC_INIT
57 Exec_DoResetCallbacks((struct IntExecBase *)SysBase);
59 asm volatile("li %%r3,%0; sc"::"i"(0x100 /*SC_REBOOT*/):"memory","r3");
61 AROS_LIBFUNC_EXIT