Lines Matching +full:reboot +full:- +full:mode
1 // SPDX-License-Identifier: GPL-2.0
5 #include <linux/reboot.h>
15 #include <acpi/reboot.h>
23 #include <asm/reboot.h>
53 * Reboot options and system auto-detection code provided by
54 * Dell Inc. so their systems "just work". :-)
58 * Some machines require the "reboot=a" commandline options
64 pr_info("%s series board detected. Selecting %s-method for reboots.\n", in set_acpi_reboot()
65 d->ident, "ACPI"); in set_acpi_reboot()
71 * Some machines require the "reboot=b" or "reboot=k" commandline options,
78 pr_info("%s series board detected. Selecting %s-method for reboots.\n", in set_bios_reboot()
79 d->ident, "BIOS"); in set_bios_reboot()
85 * Some machines don't handle the default ACPI reboot method and
86 * require the EFI reboot method:
92 pr_info("%s series board detected. Selecting EFI-method for reboot.\n", d->ident); in set_efi_reboot()
103 * routine will recognize as telling it to do a proper reboot. (Well in machine_real_restart()
104 * that's what this book in front of me says -- it may only apply to in machine_real_restart()
109 * safe side. (Yes, CMOS_WRITE does outb_p's. - Paul G.) in machine_real_restart()
121 write_cr3(real_mode_header->trampoline_pgd); in machine_real_restart()
123 /* Exiting long mode will fail if CR4.PCIDE is set. */ in machine_real_restart()
128 /* Jump to the identity-mapped low memory code */ in machine_real_restart()
131 "rm" (real_mode_header->machine_real_restart_asm), in machine_real_restart()
135 "m" (real_mode_header->machine_real_restart_asm), in machine_real_restart()
146 * Some Apple MacBook and MacBookPro's needs reboot=p to be able to reboot
152 pr_info("%s series board detected. Selecting %s-method for reboots.\n", in set_pci_reboot()
153 d->ident, "PCI"); in set_pci_reboot()
162 pr_info("%s series board detected. Selecting %s-method for reboot.\n", in set_kbd_reboot()
163 d->ident, "KBD"); in set_kbd_reboot()
169 * This is a single dmi_table handling all reboot quirks.
174 { /* Handle reboot issue on Acer Aspire one */
182 { /* Handle reboot issue on Acer TravelMate X514-51T */
184 .ident = "Acer TravelMate X514-51T",
187 DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate X514-51T"),
242 { /* Handle problems with rebooting on ASRock Q1900DC-ITX */
244 .ident = "ASRock Q1900DC-ITX",
247 DMI_MATCH(DMI_BOARD_NAME, "Q1900DC-ITX"),
470 /* Hewlett-Packard */
475 DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
481 { /* Handle problems with rebooting on Sony VGN-Z540N */
483 .ident = "Sony VGN-Z540N",
486 DMI_MATCH(DMI_PRODUCT_NAME, "VGN-Z540N"),
507 * runtime services are enabled, force EFI reboot. in reboot_init()
576 * the following on reboot:
578 * 1) If the FADT has the ACPI reboot register flag set, try it
580 * 3) If still alive, write to the ACPI reboot register again
582 * 5) If still alive, call the EFI runtime service to reboot
583 * 6) If no EFI runtime service, call the BIOS to do a reboot
586 * two other reboot methods: 'triple fault' and 'PCI', which
587 * can be triggered via the reboot= kernel boot option or
598 unsigned short mode; in native_machine_emergency_restart() local
605 /* Tell the BIOS if we want cold or warm reboot */ in native_machine_emergency_restart()
606 mode = reboot_mode == REBOOT_WARM ? 0x1234 : 0; in native_machine_emergency_restart()
607 *((unsigned short *)__va(0x472)) = mode; in native_machine_emergency_restart()
611 * override the reboot= parameter. in native_machine_emergency_restart()
614 pr_info("EFI capsule is pending, forcing EFI reboot.\n"); in native_machine_emergency_restart()
704 * not receive the per-cpu timer interrupt which may trigger in native_machine_shutdown()
804 int crashing_cpu = -1;
843 * or emergency reboot time. The function passed as parameter
856 atomic_set(&waiting_for_crash_ipi, num_online_cpus() - 1); in nmi_shootdown_cpus()
875 msecs--; in nmi_shootdown_cpus()