summaryrefslogtreecommitdiff
path: root/sys/arch/sgi/include
diff options
context:
space:
mode:
authorTakuya ASADA <syuu@cvs.openbsd.org>2009-12-28 06:55:28 +0000
committerTakuya ASADA <syuu@cvs.openbsd.org>2009-12-28 06:55:28 +0000
commitb2b08df5c106c5e8cac2811d8df5c66fe96004c3 (patch)
tree9ea97733d69606eaa53618f04917521648c68814 /sys/arch/sgi/include
parent9300643b1fd7b4deadca89da4d58a5b8debb934d (diff)
MP-safe pmap implemented, enable IPI in interrupt handler to avoid deadlock.
ok miod@
Diffstat (limited to 'sys/arch/sgi/include')
-rw-r--r--sys/arch/sgi/include/intr.h10
-rw-r--r--sys/arch/sgi/include/mutex.h5
2 files changed, 10 insertions, 5 deletions
diff --git a/sys/arch/sgi/include/intr.h b/sys/arch/sgi/include/intr.h
index 03f7706f7f3..b9048294b45 100644
--- a/sys/arch/sgi/include/intr.h
+++ b/sys/arch/sgi/include/intr.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: intr.h,v 1.39 2009/12/02 01:52:28 syuu Exp $ */
+/* $OpenBSD: intr.h,v 1.40 2009/12/28 06:55:27 syuu Exp $ */
/*
* Copyright (c) 2001-2004 Opsycon AB (www.opsycon.se / www.opsycon.com)
@@ -186,6 +186,14 @@ void set_intr(int, uint32_t, uint32_t(*)(uint32_t, struct trap_frame *));
uint32_t updateimask(uint32_t);
void dosoftint(void);
+#ifdef MULTIPROCESSOR
+#if defined (TGT_OCTANE)
+#define ENABLEIPI() updateimask(~CR_INT_2) /* enable IPI interrupt level */
+#else
+#error MULTIPROCESSOR kernel not supported on this configuration
+#endif
+#endif
+
#endif /* _LOCORE */
#endif /* _MACHINE_INTR_H_ */
diff --git a/sys/arch/sgi/include/mutex.h b/sys/arch/sgi/include/mutex.h
index 1d84c23882d..490d62b4f5c 100644
--- a/sys/arch/sgi/include/mutex.h
+++ b/sys/arch/sgi/include/mutex.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: mutex.h,v 1.5 2009/11/04 02:26:24 syuu Exp $ */
+/* $OpenBSD: mutex.h,v 1.6 2009/12/28 06:55:27 syuu Exp $ */
/*
* Copyright (c) 2004 Artur Grabowski <art@openbsd.org>
@@ -28,9 +28,6 @@
#ifndef _MACHINE_MUTEX_H_
#define _MACHINE_MUTEX_H_
-/*
- * Simple non-mp implementation.
- */
struct mutex {
int mtx_lock;
int mtx_wantipl;