Re: [PATCH v6 12/36] nds32: Process management
From: Arnd Bergmann <arnd@arndb.de>
Date: 2018-01-18 10:22:13
Also in:
linux-arch, linux-devicetree, linux-serial, lkml
From: Arnd Bergmann <arnd@arndb.de>
Date: 2018-01-18 10:22:13
Also in:
linux-arch, linux-devicetree, linux-serial, lkml
On Mon, Jan 15, 2018 at 6:53 AM, Greentime Hu [off-list ref] wrote:
+void machine_restart(char *__unused)
+{
+ /*
+ * Clean and disable cache, and turn off interrupts
+ */
+ cpu_proc_fin();
+
+ /*
+ * Tell the mm system that we are going to reboot -
+ * we may need it to insert some 1:1 mappings so that
+ * soft boot works.
+ */
+ setup_mm_for_reboot(reboot_mode);
+
+ /*
+ * Now call the architecture specific reboot code.
+ */
+ arch_reset(reboot_mode);
+
+ /*
+ * Whoops - the architecture was unable to reboot.
+ * Tell the user!
+ */
+ mdelay(1000);
+ pr_info("Reboot failed -- System halted\n");
+ while (1) ;
+}You should insert a call to do_kernel_restart() in this function to allow e.g. a watchdog driver to provide a machine-specific reboot method. Otherwise the patch looks good to me, Acked-by: Arnd Bergmann <arnd@arndb.de>