Messages in this thread | | | Subject | Re: [PATCH] x86/reboot: Enable restart_handler mechanism | From | "Bouvier, Benjamin (Nokia - FR/Lannion)" <> | Date | Fri, 14 Feb 2020 15:09:25 +0100 |
| |
Hi,
Gentle reminder.
Thanks. Benjamin
On 17/01/2020 14:45, Benjamin Bouvier wrote: > Drivers may want to register restart_handlers for case where an external > reset is needed to reset a complete system and not only the processor. > This case is currently missing in x86 architecture. > So include call to do_kernel_restart() to use handlers registered > through register_restart_handler() API when the processor restarts. > > do_kernel_restart() cannot be called in machine_restart() as required by > documentation as final step, because it will never be reached (restart > having already been carried out). So call is done inside > native_machine_restart(), and only here to not let drivers managed reset > in hypervisor case where function native_machine_restart() is overridden. > > Co-developed-by: Patrick Lelu <patrick.lelu@nokia.com> > Signed-off-by: Patrick Lelu <patrick.lelu@nokia.com> > Signed-off-by: Benjamin Bouvier <benjamin.bouvier@nokia.com> > --- > arch/x86/kernel/reboot.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/arch/x86/kernel/reboot.c b/arch/x86/kernel/reboot.c > index 0cc7c0b106bb..53c3d5a3f89d 100644 > --- a/arch/x86/kernel/reboot.c > +++ b/arch/x86/kernel/reboot.c > @@ -718,12 +718,13 @@ static void __machine_emergency_restart(int emergency) > machine_ops.emergency_restart(); > } > > -static void native_machine_restart(char *__unused) > +static void native_machine_restart(char *cmd) > { > pr_notice("machine restart\n"); > > if (!reboot_force) > machine_shutdown(); > + do_kernel_restart(cmd); > __machine_emergency_restart(0); > } > >
| |