summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2014-02-01 21:17:33 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2014-02-01 21:17:33 +0000
commita5577692aa8098b62f19907edae981c4d697513e (patch)
tree35657709f655991063336a6777943bc02f5e893d /sys
parente17bfe28e1505678c940047e0cf2d381fe5fc574 (diff)
Reset the hwrpb cpu start address after booting the secondaries, in order to
give dire kernel panics a better chance to reach the SRM.
Diffstat (limited to 'sys')
-rw-r--r--sys/arch/alpha/alpha/cpu.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/sys/arch/alpha/alpha/cpu.c b/sys/arch/alpha/alpha/cpu.c
index ec7156486c3..e94ecf16994 100644
--- a/sys/arch/alpha/alpha/cpu.c
+++ b/sys/arch/alpha/alpha/cpu.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: cpu.c,v 1.32 2014/01/26 17:40:09 miod Exp $ */
+/* $OpenBSD: cpu.c,v 1.33 2014/02/01 21:17:32 miod Exp $ */
/* $NetBSD: cpu.c,v 1.44 2000/05/23 05:12:53 thorpej Exp $ */
/*-
@@ -442,6 +442,13 @@ cpu_boot_secondary_processors(void)
atomic_setbits_ulong(&cpus_running, (1UL << i));
ncpus++;
}
+
+ /*
+ * Reset the HWRPB to prevent processors resetting from
+ * running through the hatching code again.
+ */
+ hwrpb->rpb_restart = 0;
+ hwrpb->rpb_checksum = hwrpb_checksum();
}
void