|
@@ -43,6 +43,8 @@
|
|
|
#include <linux/kprobes.h>
|
|
|
#include <linux/user_namespace.h>
|
|
|
|
|
|
+#include <linux/kmsg_dump.h>
|
|
|
+
|
|
|
#include <asm/uaccess.h>
|
|
|
#include <asm/io.h>
|
|
|
#include <asm/unistd.h>
|
|
@@ -285,6 +287,7 @@ out_unlock:
|
|
|
*/
|
|
|
void emergency_restart(void)
|
|
|
{
|
|
|
+ kmsg_dump(KMSG_DUMP_EMERG);
|
|
|
machine_emergency_restart();
|
|
|
}
|
|
|
EXPORT_SYMBOL_GPL(emergency_restart);
|
|
@@ -312,6 +315,7 @@ void kernel_restart(char *cmd)
|
|
|
printk(KERN_EMERG "Restarting system.\n");
|
|
|
else
|
|
|
printk(KERN_EMERG "Restarting system with command '%s'.\n", cmd);
|
|
|
+ kmsg_dump(KMSG_DUMP_RESTART);
|
|
|
machine_restart(cmd);
|
|
|
}
|
|
|
EXPORT_SYMBOL_GPL(kernel_restart);
|
|
@@ -333,6 +337,7 @@ void kernel_halt(void)
|
|
|
kernel_shutdown_prepare(SYSTEM_HALT);
|
|
|
sysdev_shutdown();
|
|
|
printk(KERN_EMERG "System halted.\n");
|
|
|
+ kmsg_dump(KMSG_DUMP_HALT);
|
|
|
machine_halt();
|
|
|
}
|
|
|
|
|
@@ -351,6 +356,7 @@ void kernel_power_off(void)
|
|
|
disable_nonboot_cpus();
|
|
|
sysdev_shutdown();
|
|
|
printk(KERN_EMERG "Power down.\n");
|
|
|
+ kmsg_dump(KMSG_DUMP_POWEROFF);
|
|
|
machine_power_off();
|
|
|
}
|
|
|
EXPORT_SYMBOL_GPL(kernel_power_off);
|