Define and use IPL_MPFLOOR in our common mutex implementation.
authormpi <mpi@openbsd.org>
Sat, 13 Jan 2018 15:18:11 +0000 (15:18 +0000)
committermpi <mpi@openbsd.org>
Sat, 13 Jan 2018 15:18:11 +0000 (15:18 +0000)
ok kettenis@, visa@

16 files changed:
sys/arch/alpha/include/intr.h
sys/arch/alpha/include/mutex.h
sys/arch/amd64/include/intrdefs.h
sys/arch/amd64/include/mutex.h
sys/arch/arm64/include/intr.h
sys/arch/arm64/include/mutex.h
sys/arch/hppa/include/intr.h
sys/arch/hppa/include/mutex.h
sys/arch/i386/include/intrdefs.h
sys/arch/i386/include/mutex.h
sys/arch/luna88k/include/intr.h
sys/arch/m88k/include/mutex.h
sys/arch/powerpc/include/intr.h
sys/arch/powerpc/include/mutex.h
sys/arch/sparc64/include/intr.h
sys/arch/sparc64/include/mutex.h

index 1934f69..4f7ab83 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: intr.h,v 1.46 2016/06/13 01:26:14 dlg Exp $ */
+/* $OpenBSD: intr.h,v 1.47 2018/01/13 15:18:11 mpi Exp $ */
 /* $NetBSD: intr.h,v 1.26 2000/06/03 20:47:41 thorpej Exp $ */
 
 /*-
@@ -125,6 +125,8 @@ struct scbvec {
 #define        IPL_SOFTNET     2       /* network software interrupts */
 #define        IPL_SOFT        3       /* other software interrupts */
 
+#define        IPL_MPFLOOR     IPL_AUDIO
+
 #define        IPL_MPSAFE      0       /* no "mpsafe" interrupts */
 
 #define        IST_UNUSABLE    -1      /* interrupt cannot be used */
index 720a30b..20078d4 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: mutex.h,v 1.9 2018/01/04 11:03:48 mpi Exp $   */
+/*     $OpenBSD: mutex.h,v 1.10 2018/01/13 15:18:11 mpi Exp $  */
 
 /*
  * Copyright (c) 2004 Artur Grabowski <art@openbsd.org>
@@ -48,7 +48,7 @@ struct mutex {
  */
 #ifdef MULTIPROCESSOR
 #define __MUTEX_IPL(ipl) \
-    (((ipl) > IPL_NONE && (ipl) < IPL_AUDIO) ? IPL_AUDIO : (ipl))
+    (((ipl) > IPL_NONE && (ipl) < IPL_MPFLOOR) ? IPL_MPFLOOR : (ipl))
 #else
 #define __MUTEX_IPL(ipl) (ipl)
 #endif
index 2cfe0ba..f435c67 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: intrdefs.h,v 1.16 2016/06/22 01:12:38 mikeb Exp $     */
+/*     $OpenBSD: intrdefs.h,v 1.17 2018/01/13 15:18:11 mpi Exp $       */
 /*     $NetBSD: intrdefs.h,v 1.2 2003/05/04 22:01:56 fvdl Exp $        */
 
 #ifndef _AMD64_INTRDEFS_H
@@ -34,6 +34,7 @@
 #define        IPL_IPI         0xe     /* inter-processor interrupts */
 #define        NIPL            16
 
+#define        IPL_MPFLOOR     IPL_TTY
 #define        IPL_MPSAFE      0x100
 
 /* Interrupt sharing types. */
index bb4c9d3..20078d4 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: mutex.h,v 1.9 2018/01/12 09:19:32 mpi Exp $   */
+/*     $OpenBSD: mutex.h,v 1.10 2018/01/13 15:18:11 mpi Exp $  */
 
 /*
  * Copyright (c) 2004 Artur Grabowski <art@openbsd.org>
@@ -48,7 +48,7 @@ struct mutex {
  */
 #ifdef MULTIPROCESSOR
 #define __MUTEX_IPL(ipl) \
-    (((ipl) > IPL_NONE && (ipl) < IPL_TTY) ? IPL_TTY : (ipl))
+    (((ipl) > IPL_NONE && (ipl) < IPL_MPFLOOR) ? IPL_MPFLOOR : (ipl))
 #else
 #define __MUTEX_IPL(ipl) (ipl)
 #endif
index 2858a29..2bab7cd 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: intr.h,v 1.6 2017/03/09 14:23:59 kettenis Exp $ */
+/*     $OpenBSD: intr.h,v 1.7 2018/01/13 15:18:11 mpi Exp $ */
 
 /*
  * Copyright (c) 2001-2004 Opsycon AB  (www.opsycon.se / www.opsycon.com)
@@ -59,6 +59,7 @@
 #define        IPL_IPI         12      /* interprocessor interrupt */
 #define        NIPL            13      /* number of levels */
 
+#define        IPL_MPFLOOR     IPL_TTY
 /* Interrupt priority 'flags'. */
 #define        IPL_MPSAFE      0       /* no "mpsafe" interrupts */
 
index c42ef1c..5247385 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: mutex.h,v 1.3 2018/01/12 09:19:33 mpi Exp $   */
+/*     $OpenBSD: mutex.h,v 1.4 2018/01/13 15:18:11 mpi Exp $   */
 
 /*
  * Copyright (c) 2004 Artur Grabowski <art@openbsd.org>
@@ -48,7 +48,7 @@ struct mutex {
  */
 #ifdef MULTIPROCESSOR
 #define __MUTEX_IPL(ipl) \
-    (((ipl) > IPL_NONE && (ipl) < IPL_TTY) ? IPL_TTY : (ipl))
+    (((ipl) > IPL_NONE && (ipl) < IPL_MPFLOOR) ? IPL_MPFLOOR : (ipl))
 #else
 #define __MUTEX_IPL(ipl) (ipl)
 #endif
index 6d7a191..eba861f 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: intr.h,v 1.43 2017/05/19 00:49:53 dlg Exp $   */
+/*     $OpenBSD: intr.h,v 1.44 2018/01/13 15:18:11 mpi Exp $   */
 
 /*
  * Copyright (c) 2002-2004 Michael Shalayeff
@@ -50,6 +50,7 @@
 #define        IPL_IPI         11
 #define        IPL_NESTED      12      /* pseudo-level for sub-tables */
 
+#define        IPL_MPFLOOR     IPL_AUDIO
 #define        IPL_MPSAFE      0       /* no "mpsafe" interrupts */
 
 #define        IST_NONE        0
index 3b16361..0aa8d1b 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: mutex.h,v 1.8 2018/01/04 11:03:48 mpi Exp $   */
+/*     $OpenBSD: mutex.h,v 1.9 2018/01/13 15:18:11 mpi Exp $   */
 
 /*
  * Copyright (c) 2004 Artur Grabowski <art@openbsd.org>
@@ -54,7 +54,7 @@ struct mutex {
  */
 #ifdef MULTIPROCESSOR
 #define __MUTEX_IPL(ipl) \
-    (((ipl) > IPL_NONE && (ipl) < IPL_AUDIO) ? IPL_AUDIO : (ipl))
+    (((ipl) > IPL_NONE && (ipl) < IPL_MPFLOOR) ? IPL_MPFLOOR : (ipl))
 #ifdef WITNESS
 #define MUTEX_INITIALIZER_FLAGS(ipl, name, flags) \
        { MUTEX_UNLOCKED, __MUTEX_IPL((ipl)), 0, NULL, \
index fba06ef..c95b789 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: intrdefs.h,v 1.15 2016/10/21 06:20:58 mlarkin Exp $   */
+/*     $OpenBSD: intrdefs.h,v 1.16 2018/01/13 15:18:11 mpi Exp $       */
 /*     $NetBSD: intrdefs.h,v 1.2 2003/05/04 22:01:56 fvdl Exp $        */
 
 #ifndef _I386_INTRDEFS_H
@@ -70,6 +70,7 @@
 #define        IPL_HIGH        MAKEIPL(10)     /* everything */
 #define        IPL_IPI         MAKEIPL(11)     /* interprocessor interrupt */
 
+#define        IPL_MPFLOOR     IPL_TTY
 #define        IPL_MPSAFE      0x100
 
 /* Interrupt sharing types. */
index 96db30e..d3525fc 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: mutex.h,v 1.11 2018/01/12 09:19:33 mpi Exp $  */
+/*     $OpenBSD: mutex.h,v 1.12 2018/01/13 15:18:11 mpi Exp $  */
 
 /*
  * Copyright (c) 2004 Artur Grabowski <art@openbsd.org>
@@ -48,7 +48,7 @@ struct mutex {
  */
 #ifdef MULTIPROCESSOR
 #define __MUTEX_IPL(ipl) \
-    (((ipl) > IPL_NONE && (ipl) < IPL_TTY) ? IPL_TTY : (ipl))
+    (((ipl) > IPL_NONE && (ipl) < IPL_MPFLOOR) ? IPL_MPFLOOR : (ipl))
 #else
 #define __MUTEX_IPL(ipl) (ipl)
 #endif
index 4d80aae..e2db679 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: intr.h,v 1.9 2014/12/28 13:03:18 aoyama Exp $ */
+/*     $OpenBSD: intr.h,v 1.10 2018/01/13 15:18:11 mpi Exp $   */
 /*
  * Copyright (C) 2000 Steve Murphree, Jr.
  * All rights reserved.
@@ -47,6 +47,7 @@
 #define IPL_NMI                7
 #define IPL_ABORT      7
 
+#define IPL_MPFLOOR    IPL_TTY
 #define IPL_MPSAFE     0       /* no "mpsafe" interrupts */
 
 #include <m88k/intr.h>
index 446a2d9..2656398 100644 (file)
@@ -1,6 +1,6 @@
 #ifndef _M88K_MUTEX_H_
 #define _M88K_MUTEX_H_
-/*     $OpenBSD: mutex.h,v 1.6 2018/01/04 11:03:48 mpi Exp $   */
+/*     $OpenBSD: mutex.h,v 1.7 2018/01/13 15:18:11 mpi Exp $   */
 
 /*
  * Copyright (c) 2005, Miodrag Vallat.
@@ -48,7 +48,7 @@ struct mutex {
  */
 #ifdef MULTIPROCESSOR
 #define __MUTEX_IPL(ipl) \
-    (((ipl) > IPL_NONE && (ipl) < IPL_TTY) ? IPL_TTY : (ipl))
+    (((ipl) > IPL_NONE && (ipl) < IPL_MPFLOOR) ? IPL_MPFLOOR : (ipl))
 #else
 #define __MUTEX_IPL(ipl) (ipl)
 #endif
index d0b3f72..51d1244 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: intr.h,v 1.53 2017/07/25 03:46:59 visa Exp $ */
+/*     $OpenBSD: intr.h,v 1.54 2018/01/13 15:18:11 mpi Exp $ */
 
 /*
  * Copyright (c) 1997 Per Fogelstrom, Opsycon AB and RTMX Inc, USA.
@@ -50,6 +50,7 @@
 #define        IPL_HIGH        12
 #define        IPL_NUM         13
 
+#define        IPL_MPFLOOR     IPL_TTY
 #define        IPL_MPSAFE      0x100
 
 #define        IST_NONE        0
index 07ea760..2aeefb1 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: mutex.h,v 1.7 2018/01/12 09:19:33 mpi Exp $   */
+/*     $OpenBSD: mutex.h,v 1.8 2018/01/13 15:18:11 mpi Exp $   */
 
 /*
  * Copyright (c) 2004 Artur Grabowski <art@openbsd.org>
@@ -48,7 +48,7 @@ struct mutex {
  */
 #ifdef MULTIPROCESSOR
 #define __MUTEX_IPL(ipl) \
-    (((ipl) > IPL_NONE && (ipl) < IPL_TTY) ? IPL_TTY : (ipl))
+    (((ipl) > IPL_NONE && (ipl) < IPL_MPFLOOR) ? IPL_MPFLOOR : (ipl))
 #else
 #define __MUTEX_IPL(ipl) (ipl)
 #endif
index 88861fa..9bd7fb8 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: intr.h,v 1.20 2016/08/17 10:49:09 dlg Exp $   */
+/*     $OpenBSD: intr.h,v 1.21 2018/01/13 15:18:11 mpi Exp $   */
 /*     $NetBSD: intr.h,v 1.8 2001/01/14 23:50:30 thorpej Exp $ */
 
 /*-
@@ -102,6 +102,7 @@ void    intr_establish(int, struct intrhand *);
 
 #define splzs()                splserial()
 
+#define        IPL_MPFLOOR     IPL_SERIAL
 #define        IPL_MPSAFE      0x100
 
 int     splraise(int);
index bfa1c69..d6852e2 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: mutex.h,v 1.6 2018/01/12 09:19:33 mpi Exp $   */
+/*     $OpenBSD: mutex.h,v 1.7 2018/01/13 15:18:11 mpi Exp $   */
 
 /*
  * Copyright (c) 2004 Artur Grabowski <art@openbsd.org>
@@ -48,7 +48,7 @@ struct mutex {
  */
 #ifdef MULTIPROCESSOR
 #define __MUTEX_IPL(ipl) \
-    (((ipl) > IPL_NONE && (ipl) < IPL_SERIAL) ? IPL_SERIAL : (ipl))
+    (((ipl) > IPL_NONE && (ipl) < IPL_MPFLOOR) ? IPL_MPFLOOR : (ipl))
 #else
 #define __MUTEX_IPL(ipl) (ipl)
 #endif