+2010-07-02 Colin Watson <cjwatson@ubuntu.com>
+
+ * include/grub/misc.h (grub_reboot): Declare as noreturn.
+ * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
+ fails.
+ (grub_halt): Likewise.
+ * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
+ reset-all fails.
+ (grub_halt): Don't return, even if all of shut-down, power-off, and
+ poweroff fail.
+
2010-07-02 Colin Watson <cjwatson@ubuntu.com>
* kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
}
/* Reboot the machine. */
-void EXPORT_FUNC (grub_reboot) (void);
+void EXPORT_FUNC (grub_reboot) (void) __attribute__ ((noreturn));
#ifdef GRUB_MACHINE_PCBIOS
/* Halt the system, using APM if possible. If NO_APM is true, don't
grub_efi_fini ();
efi_call_4 (grub_efi_system_table->runtime_services->reset_system,
GRUB_EFI_RESET_COLD, GRUB_EFI_SUCCESS, 0, NULL);
+ for (;;) ;
}
#endif
grub_efi_fini ();
efi_call_4 (grub_efi_system_table->runtime_services->reset_system,
GRUB_EFI_RESET_SHUTDOWN, GRUB_EFI_SUCCESS, 0, NULL);
+ for (;;) ;
}
int
grub_reboot (void)
{
grub_ieee1275_interpret ("reset-all", 0);
+ for (;;) ;
}
#endif
grub_ieee1275_interpret ("shut-down", 0);
grub_ieee1275_interpret ("power-off", 0);
grub_ieee1275_interpret ("poweroff", 0);
+ for (;;) ;
}