Fix grub_machine_fini bitrot.
Reported by: Glenn Washburn.
This commit is contained in:
parent
c61471fc8b
commit
33690255c5
8 changed files with 16 additions and 7 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
Fix grub_machine_fini bitrot.
|
||||||
|
|
||||||
|
Reported by: Glenn Washburn.
|
||||||
|
|
||||||
2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
|
2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
* configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.
|
* configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.
|
||||||
|
|
|
@ -57,10 +57,13 @@ grub_machine_init (void)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
grub_machine_fini (void)
|
grub_machine_fini (int flags)
|
||||||
{
|
{
|
||||||
grub_efi_boot_services_t *b;
|
grub_efi_boot_services_t *b;
|
||||||
|
|
||||||
|
if (!(flags & GRUB_LOADER_FLAG_NORETURN))
|
||||||
|
return;
|
||||||
|
|
||||||
b = grub_efi_system_table->boot_services;
|
b = grub_efi_system_table->boot_services;
|
||||||
|
|
||||||
efi_call_3 (b->set_timer, tmr_evt, GRUB_EFI_TIMER_PERIODIC, 0);
|
efi_call_3 (b->set_timer, tmr_evt, GRUB_EFI_TIMER_PERIODIC, 0);
|
||||||
|
|
|
@ -225,7 +225,7 @@ main (int argc, char *argv[])
|
||||||
grub_hostfs_fini ();
|
grub_hostfs_fini ();
|
||||||
grub_host_fini ();
|
grub_host_fini ();
|
||||||
|
|
||||||
grub_machine_fini ();
|
grub_machine_fini (GRUB_LOADER_FLAG_NORETURN);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -113,7 +113,7 @@ grub_machine_init (void)
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
grub_machine_fini (void)
|
grub_machine_fini (int flags __attribute__ ((unused)))
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
void
|
void
|
||||||
grub_halt (void)
|
grub_halt (void)
|
||||||
{
|
{
|
||||||
grub_machine_fini ();
|
grub_machine_fini (GRUB_LOADER_FLAG_NORETURN);
|
||||||
#if !defined(__ia64__) && !defined(__arm__)
|
#if !defined(__ia64__) && !defined(__arm__)
|
||||||
grub_acpi_halt ();
|
grub_acpi_halt ();
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
void
|
void
|
||||||
grub_reboot (void)
|
grub_reboot (void)
|
||||||
{
|
{
|
||||||
grub_machine_fini ();
|
grub_machine_fini (GRUB_LOADER_FLAG_NORETURN);
|
||||||
efi_call_4 (grub_efi_system_table->runtime_services->reset_system,
|
efi_call_4 (grub_efi_system_table->runtime_services->reset_system,
|
||||||
GRUB_EFI_RESET_COLD, GRUB_EFI_SUCCESS, 0, NULL);
|
GRUB_EFI_RESET_COLD, GRUB_EFI_SUCCESS, 0, NULL);
|
||||||
for (;;) ;
|
for (;;) ;
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
void
|
void
|
||||||
grub_halt (void)
|
grub_halt (void)
|
||||||
{
|
{
|
||||||
grub_machine_fini ();
|
grub_machine_fini (GRUB_LOADER_FLAG_NORETURN);
|
||||||
|
|
||||||
/* Just stop here */
|
/* Just stop here */
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
void
|
void
|
||||||
grub_reboot (void)
|
grub_reboot (void)
|
||||||
{
|
{
|
||||||
grub_machine_fini ();
|
grub_machine_fini (GRUB_LOADER_FLAG_NORETURN);
|
||||||
|
|
||||||
grub_uboot_reset ();
|
grub_uboot_reset ();
|
||||||
while (1);
|
while (1);
|
||||||
|
|
Loading…
Reference in a new issue