czy funkcja panic () jądra całkowicie zawiesza każdy inny proces?
Chciałbym uzyskać potwierdzenie tego jądrapanic()
funkcja i inne podobnekernel_halt()
imachine_halt()
po uruchomieniu gwarantuje całkowite zamrożenie maszyny.
Czy wszystkie procesy jądra i użytkownika są zamrożone? Jestpanic()
przerywany przez program planujący? Procedury obsługi przerwań mogą być nadal wykonywane?
Przypadek użycia: w przypadku poważnego błędu, muszę być pewien, że watchdog sprzętowy zresetuje komputer. W tym celu muszę się upewnićbrak innego wątku / procesu utrzymuje strażnika przy życiu. Muszę wywołać całkowite zatrzymanie systemu. Obecnie w moim module jądra po prostu dzwoniępanic()
zamrozić wszystko.
Również przestrzeń użytkownikahalt
komenda gwarantuje zamrożenie systemu?
Dzięki.
edytuj: zgodnie z:http://linux.die.net/man/2/reboot, Myślę, że najlepszym sposobem jest użyciereboot(LINUX_REBOOT_CMD_HALT)
: „Kontrola jest przekazywana do monitora ROM, jeśli taki istnieje”