efi: Move grub_reboot() into kernel
[grub.git] / grub-core / kern / efi / efi.c
index d467785..708581f 100644 (file)
@@ -154,6 +154,15 @@ grub_efi_get_loaded_image (grub_efi_handle_t image_handle)
                                 GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL);
 }
 
+void
+grub_reboot (void)
+{
+  grub_machine_fini (GRUB_LOADER_FLAG_NORETURN);
+  efi_call_4 (grub_efi_system_table->runtime_services->reset_system,
+              GRUB_EFI_RESET_COLD, GRUB_EFI_SUCCESS, 0, NULL);
+  for (;;) ;
+}
+
 void
 grub_exit (void)
 {