Начните с функции kernel_power_off
в kernel/reboot.c
и следуйте коду. Заключительные операции по отключению питания зависят от конкретной платформы, поэтому, если вы хотите продолжить до конца, вам необходимо выяснить, какие именно биты специфичного для арки кода вы используете.
Одна более простая возможность для отправки ваших сигналов - зарегистрировать обработчик kmsg_dump
. Последнее, что kernel_power_off
делает перед вызовом кода отключения для конкретной платформы, - это выполнение kmsg_dump(KMSG_DUMP_POWEROFF);
. (Просто игнорируйте любые kmsg_dump
звонки, кроме этого.)