これは以下に関連しています: https://stackoverflow.com/a/13413099/1284631
さて、問題は次のとおりです。
LINUX_REBOOT_CMD_HALTパラメータを指定して呼び出されたときにreboot()システムコールが呼び出される理由(ここを参照してください: http://lxr.linux.no/linux+v3.6.6/kernel/sys.c#L480 )は、呼び出しが沸騰するため、do_exit(0)すでに呼び出された後に呼び出されます(ここを参照: http : //lxr.linux .no/linux+v3.6.6/arch/x86/kernel/reboot.c#L680 )。kernel_halt()kernel_halt()stop_this_cpu()native_machine_halt()
または、それstop_this_cpu()が戻ってこないように思えます(無限ループで終了します)。
それで、それが仕事をせずに戻ってきdo_exit(0)た場合に備えて呼び出されますか?では、代わりに直接しkernel_halt()ないのはなぜですか?panic()