我想确认内核的panic()
功能和其他功能一样kernel_halt()
,machine_halt()
一旦触发,保证机器完全冻结。
那么,所有内核和用户进程都被冻结了吗?是否panic()
可以被调度程序中断?中断处理程序仍然可以执行吗?
用例:如果出现严重错误,我需要确保硬件看门狗重置机器。为此,我需要确保没有其他线程/进程使看门狗保持活动状态。我需要触发系统完全停止。目前,在我的内核模块中,我只是调用panic()
来冻结所有内容。
另外,用户空间halt
命令可以保证冻结系统吗?
谢谢。
编辑:根据: http: //linux.die.net/man/2/reboot,我认为最好的方法是使用reboot(LINUX_REBOOT_CMD_HALT)
:“控制权交给 ROM 监视器,如果有的话”