mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-21 08:37:37 +07:00
31 lines
517 B
C
31 lines
517 B
C
|
// SPDX-License-Identifier: GPL-2.0
|
||
|
// Copyright (C) 2018 Hangzhou C-SKY Microsystems co.,ltd.
|
||
|
|
||
|
#include <linux/reboot.h>
|
||
|
|
||
|
void (*pm_power_off)(void);
|
||
|
EXPORT_SYMBOL(pm_power_off);
|
||
|
|
||
|
void machine_power_off(void)
|
||
|
{
|
||
|
local_irq_disable();
|
||
|
if (pm_power_off)
|
||
|
pm_power_off();
|
||
|
asm volatile ("bkpt");
|
||
|
}
|
||
|
|
||
|
void machine_halt(void)
|
||
|
{
|
||
|
local_irq_disable();
|
||
|
if (pm_power_off)
|
||
|
pm_power_off();
|
||
|
asm volatile ("bkpt");
|
||
|
}
|
||
|
|
||
|
void machine_restart(char *cmd)
|
||
|
{
|
||
|
local_irq_disable();
|
||
|
do_kernel_restart(cmd);
|
||
|
asm volatile ("bkpt");
|
||
|
}
|