aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/reboot_64.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/kernel/reboot_64.c')
-rw-r--r--arch/x86/kernel/reboot_64.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/arch/x86/kernel/reboot_64.c b/arch/x86/kernel/reboot_64.c
index 53620a92a8fd..307f996a3933 100644
--- a/arch/x86/kernel/reboot_64.c
+++ b/arch/x86/kernel/reboot_64.c
@@ -9,6 +9,7 @@
9#include <linux/pm.h> 9#include <linux/pm.h>
10#include <linux/kdebug.h> 10#include <linux/kdebug.h>
11#include <linux/sched.h> 11#include <linux/sched.h>
12#include <acpi/reboot.h>
12#include <asm/io.h> 13#include <asm/io.h>
13#include <asm/delay.h> 14#include <asm/delay.h>
14#include <asm/desc.h> 15#include <asm/desc.h>
@@ -29,7 +30,8 @@ EXPORT_SYMBOL(pm_power_off);
29static long no_idt[3]; 30static long no_idt[3];
30static enum { 31static enum {
31 BOOT_TRIPLE = 't', 32 BOOT_TRIPLE = 't',
32 BOOT_KBD = 'k' 33 BOOT_KBD = 'k',
34 BOOT_ACPI = 'a'
33} reboot_type = BOOT_KBD; 35} reboot_type = BOOT_KBD;
34static int reboot_mode = 0; 36static int reboot_mode = 0;
35int reboot_force; 37int reboot_force;
@@ -39,6 +41,7 @@ int reboot_force;
39 cold Set the cold reboot flag 41 cold Set the cold reboot flag
40 triple Force a triple fault (init) 42 triple Force a triple fault (init)
41 kbd Use the keyboard controller. cold reset (default) 43 kbd Use the keyboard controller. cold reset (default)
44 acpi Use the RESET_REG in the FADT
42 force Avoid anything that could hang. 45 force Avoid anything that could hang.
43 */ 46 */
44static int __init reboot_setup(char *str) 47static int __init reboot_setup(char *str)
@@ -54,6 +57,7 @@ static int __init reboot_setup(char *str)
54 break; 57 break;
55 58
56 case 't': 59 case 't':
60 case 'a':
57 case 'b': 61 case 'b':
58 case 'k': 62 case 'k':
59 reboot_type = *str; 63 reboot_type = *str;
@@ -146,6 +150,11 @@ void machine_emergency_restart(void)
146 150
147 reboot_type = BOOT_KBD; 151 reboot_type = BOOT_KBD;
148 break; 152 break;
153
154 case BOOT_ACPI:
155 acpi_reboot();
156 reboot_type = BOOT_KBD;
157 break;
149 } 158 }
150 } 159 }
151} 160}