diff options
author | Mark Kettenis <kettenis@cvs.openbsd.org> | 2008-04-20 21:42:01 +0000 |
---|---|---|
committer | Mark Kettenis <kettenis@cvs.openbsd.org> | 2008-04-20 21:42:01 +0000 |
commit | e2c0d8670c0c4a94f1c1a1fce050bead469315cf (patch) | |
tree | 9e021bec437b0eee5072f840dc2368cda558c168 /sys | |
parent | 22200d6adf51c3b410fc9fbca8b85bcf5c37e5d5 (diff) |
Try to reset the machine through the firmware to reboot.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/arch/hppa64/hppa64/machdep.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/arch/hppa64/hppa64/machdep.c b/sys/arch/hppa64/hppa64/machdep.c index d8256e5c944..4f9e53bb6c0 100644 --- a/sys/arch/hppa64/hppa64/machdep.c +++ b/sys/arch/hppa64/hppa64/machdep.c @@ -1,4 +1,4 @@ -/* $OpenBSD: machdep.c,v 1.9 2008/04/20 11:53:11 kettenis Exp $ */ +/* $OpenBSD: machdep.c,v 1.10 2008/04/20 21:42:00 kettenis Exp $ */ /* * Copyright (c) 2005 Michael Shalayeff @@ -673,6 +673,10 @@ boot(howto) } else { printf("rebooting..."); DELAY(2000000); + + /* ask firmware to reset */ + pdc_call((iodcio_t)pdc, 0, PDC_BROADCAST_RESET, PDC_DO_RESET); + __asm __volatile(".export hppa_reset, entry\n\t" ".label hppa_reset"); __asm __volatile("stwas %0, 0(%1)" |