1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Copyright (C) 2012 Regents of the University of California
4 */
5
6#include <linux/reboot.h>
7#include <linux/pm.h>
8
9static void default_power_off(void)
10{
11 while (1)
12 wait_for_interrupt();
13}
14
15void (*pm_power_off)(void) = NULL;
16EXPORT_SYMBOL(pm_power_off);
17
18void machine_restart(char *cmd)
19{
20 do_kernel_restart(cmd);
21 while (1);
22}
23
24void machine_halt(void)
25{
26 do_kernel_power_off();
27 default_power_off();
28}
29
30void machine_power_off(void)
31{
32 do_kernel_power_off();
33 default_power_off();
34}
35

source code of linux/arch/riscv/kernel/reset.c