1 #include "kernel/kernel.h"
6 #include <machine/cpu.h>
9 #include <machine/vm.h>
12 #include <minix/board.h>
13 #include <sys/reboot.h>
15 #include <minix/u64.h>
17 #include "archconst.h"
18 #include "arch_proto.h"
19 #include "bsp_reset.h"
20 #include "bsp_serial.h"
21 #include "kernel/proc.h"
22 #include "kernel/debug.h"
23 #include "direct_utils.h"
24 #include <machine/multiboot.h>
30 asm volatile("cpsie i");
32 asm volatile("cpsid i");
38 bsp_reset(); /* should not exit */
39 direct_print("Reset not supported.");
47 /* fallback option: hang */
48 direct_print("Unable to power-off this device.");
53 arch_shutdown(int how
)
56 if((how
& RB_POWERDOWN
) == RB_POWERDOWN
) {
57 /* Power off if possible, hang otherwise */
64 for (; ; ) halt_cpu();
68 /* Reset the system */