Thread (111 messages) 111 messages, 5 authors, 2018-02-06

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

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>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help