diff options
Diffstat (limited to 'arch/x86/kernel/reboot.c')
-rw-r--r-- | arch/x86/kernel/reboot.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/x86/kernel/reboot.c b/arch/x86/kernel/reboot.c index ab0adc0fa5db..a9b31eb815f2 100644 --- a/arch/x86/kernel/reboot.c +++ b/arch/x86/kernel/reboot.c | |||
@@ -535,6 +535,15 @@ static void native_machine_emergency_restart(void) | |||
535 | mode = reboot_mode == REBOOT_WARM ? 0x1234 : 0; | 535 | mode = reboot_mode == REBOOT_WARM ? 0x1234 : 0; |
536 | *((unsigned short *)__va(0x472)) = mode; | 536 | *((unsigned short *)__va(0x472)) = mode; |
537 | 537 | ||
538 | /* | ||
539 | * If an EFI capsule has been registered with the firmware then | ||
540 | * override the reboot= parameter. | ||
541 | */ | ||
542 | if (efi_capsule_pending(NULL)) { | ||
543 | pr_info("EFI capsule is pending, forcing EFI reboot.\n"); | ||
544 | reboot_type = BOOT_EFI; | ||
545 | } | ||
546 | |||
538 | for (;;) { | 547 | for (;;) { |
539 | /* Could also try the reset bit in the Hammer NB */ | 548 | /* Could also try the reset bit in the Hammer NB */ |
540 | switch (reboot_type) { | 549 | switch (reboot_type) { |