Function report |
Source Code:arch\x86\kernel\reboot.c |
Create Date:2022-07-28 08:18:35 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:To the best of our knowledge Windows compatible x86 hardware expects* the following on reboot:* 1) If the FADT has the ACPI reboot register flag set, try it* 2) If still alive, write to the keyboard controller* 3) If still alive, write to the ACPI reboot
Proto:static void native_machine_emergency_restart(void)
Type:void
Parameter:Nothing
588 | attempt = 0 |
589 | orig_reboot_type = reboot_type |
598 | mode = If reboot_mode == REBOOT_WARM Then 0x1234 Else 0 |
605 | If efi_capsule_pending(NULL) Then |
606 | pr_info("EFI capsule is pending, forcing EFI reboot.\n") |
607 | reboot_type = BOOT_EFI |
610 | cycle |
613 | Case (reboot_type) == BOOT_ACPI |
618 | Case (reboot_type) == BOOT_KBD |
619 | mach_reboot_fixups() |
622 | kb_wait() |
624 | Basic port I/O |
627 | If attempt == 0 && orig_reboot_type == BOOT_ACPI Then |
628 | attempt = 1 |
629 | reboot_type = BOOT_ACPI |
630 | Else |
631 | reboot_type = BOOT_EFI |
633 | Break |
635 | Case (reboot_type) == BOOT_EFI |
640 | Case (reboot_type) == BOOT_BIOS |
644 | reboot_type = BOOT_CF9_SAFE |
645 | Break |
647 | Case (reboot_type) == BOOT_CF9_FORCE |
651 | Case (reboot_type) == BOOT_CF9_SAFE |
653 | reboot_code = If reboot_mode == REBOOT_WARM Then 0x06 Else 0x0E |
654 | cf9 = inb(0xcf9) & ~reboot_code |
655 | Basic port I/O |
658 | Basic port I/O |
661 | reboot_type = BOOT_TRIPLE |
662 | Break |
664 | Case (reboot_type) == BOOT_TRIPLE |
Source code conversion tool public plug-in interface | X |
---|---|
Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |