summaryrefslogtreecommitdiff
path: root/sys/arch/aviion/dev/mainbus.c
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2010-04-24 18:46:56 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2010-04-24 18:46:56 +0000
commit2cc5b2d5ea4e4207a448f7192d0a59cef474df9a (patch)
tree63f27fae1e6ea1ec68f30b73c2ea515abfdbd367 /sys/arch/aviion/dev/mainbus.c
parent743a79e922aded7a34218322df7491c49049127d (diff)
SMP support for models 4600 and 530, adapted from the MVME188 code. Models
4000 and 4300 will need more work, because they don't have as many distinct software interrupt sources as required by this implementation, so a different IPI scheme will be necessary. Tested on dual-processor 4625 (AV530 family) and single processor 4300 (AV400 family).
Diffstat (limited to 'sys/arch/aviion/dev/mainbus.c')
-rw-r--r--sys/arch/aviion/dev/mainbus.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/sys/arch/aviion/dev/mainbus.c b/sys/arch/aviion/dev/mainbus.c
index 18ae8edb097..0c8047ce701 100644
--- a/sys/arch/aviion/dev/mainbus.c
+++ b/sys/arch/aviion/dev/mainbus.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: mainbus.c,v 1.5 2010/04/24 18:44:27 miod Exp $ */
+/* $OpenBSD: mainbus.c,v 1.6 2010/04/24 18:46:55 miod Exp $ */
/*
* Copyright (c) 1998 Steve Murphree, Jr.
* Copyright (c) 2004, Miodrag Vallat.
@@ -128,6 +128,7 @@ mainbus_match(struct device *parent, void *cf, void *args)
void
mainbus_attach(struct device *parent, struct device *self, void *args)
{
+ extern void cpu_setup_secondary_processors(void);
extern char cpu_model[];
printf(": %s, cpuid 0x%04x", cpu_model, cpuid);
@@ -138,6 +139,14 @@ mainbus_attach(struct device *parent, struct device *self, void *args)
*/
cpu_configuration_print(1);
+#ifdef MULTIPROCESSOR
+ /*
+ * Let secondary processor initialize further and print their
+ * configuration information now.
+ */
+ cpu_setup_secondary_processors();
+#endif
+
(void)config_search(mainbus_scan, self, args);
}