An arch-independent hook has its advantages, no question. Maybe we
should just start this way and then evolved on top as needed.
Sounds good to me. I added the reboot notifier patch into the merge queue for kgdb/kdb.
I was wondering why those other archs do not use the notifier. Maybe one
motivation is to avoid that too much code is excluded from the debugger
by detaching too early. Could possibly be addressed by making
detach-on-reboot runtime configurable.
There really isn't a whole lot of code between reboot hook invoked from kernel_restart_prepare(),
and the place where the reset is invoked. Specifically it looked like:
usermodehelper_disable();
device_shutdown();
syscore_shutdown();
machine_restart(cmd);
Attached is the patch you asked for the conditional behavior with respect to the reboot hook.
This also implements the ability to stop on a reboot that is not a panic().