summaryrefslogtreecommitdiff
path: root/sys/arch/aviion/include/prom.h
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/include/prom.h
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/include/prom.h')
-rw-r--r--sys/arch/aviion/include/prom.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/sys/arch/aviion/include/prom.h b/sys/arch/aviion/include/prom.h
index 4ce7f0f6574..1783cb20ee2 100644
--- a/sys/arch/aviion/include/prom.h
+++ b/sys/arch/aviion/include/prom.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: prom.h,v 1.2 2006/05/20 11:57:04 miod Exp $ */
+/* $OpenBSD: prom.h,v 1.3 2010/04/24 18:46:55 miod Exp $ */
/*
* Copyright (c) 2006, Miodrag Vallat.
*
@@ -39,6 +39,7 @@
#define SCM_OCRLF 0x26
#define SCM_HALT 0x63
#define SCM_STDIO 0x70
+#define SCM_JPSTART 0x100
#define SCM_REBOOT 0x101
#define SCM_CPUID 0x102
#define SCM_MSIZE 0x103
@@ -51,6 +52,13 @@
#define SCM_SYSID 0x31
#define SCM_CPUCONFIG 0x107
+/* SCM_JPSTART return values */
+#define JPSTART_OK 0
+#define JPSTART_NO_JP 1
+#define JPSTART_SINGLE_JP 2
+#define JPSTART_NOT_IDLE 3
+#define JPSTART_NO_ANSWER 4
+
struct scm_cpuconfig {
u_int32_t version;
#define SCM_CPUCONFIG_VERSION 0
@@ -65,6 +73,7 @@ u_int scm_cpuid(void);
int scm_getc(void);
void scm_getenaddr(u_char *);
__dead void scm_halt(void);
+u_int scm_jpstart(cpuid_t, vaddr_t);
u_int scm_memsize(int);
void scm_printf(const char *);
u_int scm_promver(void);