diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2000-06-07 22:03:47 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2000-06-07 22:03:47 +0000 |
commit | 1db92498b072a7a1a82171ea2222fd29904c6171 (patch) | |
tree | 1130627b1e1026b65a43b933d60f80434569594f /arch/mips64/sgi-ip27 | |
parent | 86a87919b5603913664609f95cbf1be8cf5373a6 (diff) |
Reboot was doing halt and halt was crashing the machine, fixed.
Diffstat (limited to 'arch/mips64/sgi-ip27')
-rw-r--r-- | arch/mips64/sgi-ip27/ip27-reset.c | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/arch/mips64/sgi-ip27/ip27-reset.c b/arch/mips64/sgi-ip27/ip27-reset.c index 388fb6026..c624e8cb3 100644 --- a/arch/mips64/sgi-ip27/ip27-reset.c +++ b/arch/mips64/sgi-ip27/ip27-reset.c @@ -1,13 +1,12 @@ -/* $Id$ - * +/* * This file is subject to the terms and conditions of the GNU General Public * License. See the file "COPYING" in the main directory of this archive * for more details. * * Reset an IP27. * - * Copyright (C) 1997, 1998, 1999 by Ralf Baechle - * Copyright (C) 1999 Silicon Graphics, Inc. + * Copyright (C) 1997, 1998, 1999, 2000 by Ralf Baechle + * Copyright (C) 1999, 2000 Silicon Graphics, Inc. */ #include <linux/config.h> #include <linux/kernel.h> @@ -42,7 +41,7 @@ void machine_restart(char *command) #if 0 for (i = 0; i < numnodes; i++) REMOTE_HUB_S(COMPACT_TO_NASID_NODEID(i), PROMOP_REG, - PROMOP_RESTART); + PROMOP_REBOOT); #else LOCAL_HUB_S(NI_PORT_RESET, NPR_PORTRESET | NPR_LOCALRESET); #endif @@ -50,7 +49,15 @@ void machine_restart(char *command) void machine_halt(void) { - ArcEnterInteractiveMode(); + int i; + +#ifdef CONFIG_SMP + smp_send_stop(); +#endif + for (i = 0; i < numnodes; i++) + REMOTE_HUB_S(COMPACT_TO_NASID_NODEID(i), PROMOP_REG, + PROMOP_RESTART); + LOCAL_HUB_S(NI_PORT_RESET, NPR_PORTRESET | NPR_LOCALRESET); } void machine_power_off(void) |