|
@@ -21,6 +21,7 @@
|
|
#include <stdarg.h>
|
|
#include <stdarg.h>
|
|
|
|
|
|
#include <linux/compat.h>
|
|
#include <linux/compat.h>
|
|
|
|
+#include <linux/efi.h>
|
|
#include <linux/export.h>
|
|
#include <linux/export.h>
|
|
#include <linux/sched.h>
|
|
#include <linux/sched.h>
|
|
#include <linux/kernel.h>
|
|
#include <linux/kernel.h>
|
|
@@ -150,6 +151,13 @@ void machine_restart(char *cmd)
|
|
local_irq_disable();
|
|
local_irq_disable();
|
|
smp_send_stop();
|
|
smp_send_stop();
|
|
|
|
|
|
|
|
+ /*
|
|
|
|
+ * UpdateCapsule() depends on the system being reset via
|
|
|
|
+ * ResetSystem().
|
|
|
|
+ */
|
|
|
|
+ if (efi_enabled(EFI_RUNTIME_SERVICES))
|
|
|
|
+ efi_reboot(reboot_mode, NULL);
|
|
|
|
+
|
|
/* Now call the architecture specific reboot code. */
|
|
/* Now call the architecture specific reboot code. */
|
|
if (arm_pm_restart)
|
|
if (arm_pm_restart)
|
|
arm_pm_restart(reboot_mode, cmd);
|
|
arm_pm_restart(reboot_mode, cmd);
|