[PATCH] Reboot Dreamcast under software control

From: Adrian McMenamin
Date: Sun Jul 29 2007 - 14:04:54 EST


In the light of more up to date technical information I have
discovered there is a register at physical address 0x005F6890 on the
Dreamcast that if written a magic number (0x00007611) will force a
reboot under software control.

Presumably a better option than the current catch-all mechanism.

Signed-off by: Adrian McMenamin <adrian@xxxxxxxxxxxxxxxxx>

diff --git a/arch/sh/kernel/process.c b/arch/sh/kernel/process.c
index 6334a4c..6f5e9e4 100644
--- a/arch/sh/kernel/process.c
+++ b/arch/sh/kernel/process.c
@@ -97,6 +97,11 @@ void cpu_idle(void)

void machine_restart(char * __unused)
{
+
+#ifdef CONFIG_SH_DREAMCAST
+ /*reboot the Dreamcast under software control*/
+ writel(0x00007611, 0xA05F6890);
+#endif
/* SR.BL=1 and invoke address error to let CPU reset (manual reset) */
asm volatile("ldc %0, sr\n\t"
"mov.l @%1, %0" : : "r" (0x10000000), "r" (0x80000001));
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/