diff options
author | Takuya ASADA <syuu@cvs.openbsd.org> | 2009-12-28 06:55:28 +0000 |
---|---|---|
committer | Takuya ASADA <syuu@cvs.openbsd.org> | 2009-12-28 06:55:28 +0000 |
commit | b2b08df5c106c5e8cac2811d8df5c66fe96004c3 (patch) | |
tree | 9ea97733d69606eaa53618f04917521648c68814 /sys/arch/sgi/include | |
parent | 9300643b1fd7b4deadca89da4d58a5b8debb934d (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.h | 10 | ||||
-rw-r--r-- | sys/arch/sgi/include/mutex.h | 5 |
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; |