diff options
Diffstat (limited to 'sys/mips')
-rw-r--r-- | sys/mips/beri/beri_machdep.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/sys/mips/beri/beri_machdep.c b/sys/mips/beri/beri_machdep.c index a1bfadb..85dd153 100644 --- a/sys/mips/beri/beri_machdep.c +++ b/sys/mips/beri/beri_machdep.c @@ -116,14 +116,19 @@ mips_init(void) /* * Perform a board-level soft-reset. - * - * XXXRW: BERI doesn't yet have a board-level soft-reset. */ void platform_reset(void) { - panic("%s: not yet", __func__); + /* XXX SMP will likely require us to do more. */ + __asm__ __volatile__( + "mfc0 $k0, $12\n\t" + "li $k1, 0x00100000\n\t" + "or $k0, $k0, $k1\n\t" + "mtc0 $k0, $12\n"); + for( ; ; ) + __asm__ __volatile("wait"); } void |