функция ядра panic () полностью замораживает любой другой процесс?
Я хотел бы подтвердить, что ядроpanic()
функция и другие, какkernel_halt()
а такжеmachine_halt()
После срабатывания гарантируйте полную заморозку машины.
Итак, все ли ядро и пользовательские процессы заморожены? Являетсяpanic()
прерываемый планировщиком? Обработчики прерываний все еще могут быть выполнены?
Вариант использования: в случае серьезной ошибки, я должен быть уверен, что аппаратный сторожевой таймер сбрасывает машину. Для этого мне нужно убедиться, чтонет другого потока / процесса поддерживает сторожевого пса. Мне нужно вызвать полную остановку системы. В настоящее время внутри моего модуля ядра я просто вызываюpanic()
заморозить все.
Также пользовательское пространствоhalt
команда гарантированно заморозит систему?
Благодарю.
редактировать: в соответствии с:http://linux.die.net/man/2/rebootЯ думаю, что лучше всего использоватьreboot(LINUX_REBOOT_CMD_HALT)
: «Управление передается монитору ПЗУ, если он есть»