Lines Matching +full:system +full:- +full:reboot +full:- +full:controller

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()
120 /* Jump to the identity-mapped low memory code */ in machine_real_restart()
123 "rm" (real_mode_header->machine_real_restart_asm), in machine_real_restart()
127 "m" (real_mode_header->machine_real_restart_asm), in machine_real_restart()
138 * Some Apple MacBook and MacBookPro's needs reboot=p to be able to reboot
144 pr_info("%s series board detected. Selecting %s-method for reboots.\n", in set_pci_reboot()
145 d->ident, "PCI"); in set_pci_reboot()
154 pr_info("%s series board detected. Selecting %s-method for reboot.\n", in set_kbd_reboot()
155 d->ident, "KBD"); in set_kbd_reboot()
161 * This is a single dmi_table handling all reboot quirks.
166 { /* Handle reboot issue on Acer Aspire one */
174 { /* Handle reboot issue on Acer TravelMate X514-51T */
176 .ident = "Acer TravelMate X514-51T",
179 DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate X514-51T"),
234 { /* Handle problems with rebooting on ASRock Q1900DC-ITX */
236 .ident = "ASRock Q1900DC-ITX",
239 DMI_MATCH(DMI_BOARD_NAME, "Q1900DC-ITX"),
463 /* Hewlett-Packard */
468 DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
473 { /* PCIe Wifi card isn't detected after reboot otherwise */
478 DMI_MATCH(DMI_PRODUCT_NAME, "ZBOX-CI327NANO-GS-01"),
483 { /* Handle problems with rebooting on Sony VGN-Z540N */
485 .ident = "Sony VGN-Z540N",
488 DMI_MATCH(DMI_PRODUCT_NAME, "VGN-Z540N"),
509 * runtime services are enabled, force EFI reboot. in reboot_init()
568 * the following on reboot:
570 * 1) If the FADT has the ACPI reboot register flag set, try it
571 * 2) If still alive, write to the keyboard controller
572 * 3) If still alive, write to the ACPI reboot register again
573 * 4) If still alive, write to the keyboard controller again
574 * 5) If still alive, call the EFI runtime service to reboot
575 * 6) If no EFI runtime service, call the BIOS to do a reboot
578 * two other reboot methods: 'triple fault' and 'PCI', which
579 * can be triggered via the reboot= kernel boot option or
597 /* Tell the BIOS if we want cold or warm reboot */ in native_machine_emergency_restart()
603 * override the reboot= parameter. in native_machine_emergency_restart()
606 pr_info("EFI capsule is pending, forcing EFI reboot.\n"); in native_machine_emergency_restart()
696 * not receive the per-cpu timer interrupt which may trigger in native_machine_shutdown()
796 int crashing_cpu = -1;
813 * Otherwise, system will completely hang. Crashing cpu can get in crash_nmi_callback()
814 * an NMI if system was initially booted with nmi_watchdog parameter. in crash_nmi_callback()
835 * or emergency reboot time. The function passed as parameter
848 atomic_set(&waiting_for_crash_ipi, num_online_cpus() - 1); in nmi_shootdown_cpus()
867 msecs--; in nmi_shootdown_cpus()