summaryrefslogtreecommitdiff
path: root/sys/arch/i386/include
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@cvs.openbsd.org>2013-05-16 19:26:05 +0000
committerMark Kettenis <kettenis@cvs.openbsd.org>2013-05-16 19:26:05 +0000
commit6554a6921bfa3d3903eeea601beb22088b02273a (patch)
tree3e092a1f21e75c043fd090b47d6262f870dc62bc /sys/arch/i386/include
parent4feef0c81a9728fd079125ca763dcf683534af4c (diff)
Implement a mechanism to establish interrupt handlers that don't grab the
kernel lock upon entry through a new IPL_MPSAFE flag/level.
Diffstat (limited to 'sys/arch/i386/include')
-rw-r--r--sys/arch/i386/include/intrdefs.h4
-rw-r--r--sys/arch/i386/include/psl.h3
2 files changed, 5 insertions, 2 deletions
diff --git a/sys/arch/i386/include/intrdefs.h b/sys/arch/i386/include/intrdefs.h
index 9bb0ea26cd9..0384febd3f8 100644
--- a/sys/arch/i386/include/intrdefs.h
+++ b/sys/arch/i386/include/intrdefs.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: intrdefs.h,v 1.13 2011/07/05 17:11:07 oga Exp $ */
+/* $OpenBSD: intrdefs.h,v 1.14 2013/05/16 19:26:04 kettenis Exp $ */
/* $NetBSD: intrdefs.h,v 1.2 2003/05/04 22:01:56 fvdl Exp $ */
#ifndef _I386_INTRDEFS_H
@@ -70,6 +70,8 @@
#define IPL_HIGH MAKEIPL(10) /* everything */
#define IPL_IPI MAKEIPL(11) /* interprocessor interrupt */
+#define IPL_MPSAFE 0x100
+
/* Interrupt sharing types. */
#define IST_NONE 0 /* none */
#define IST_PULSE 1 /* pulsed */
diff --git a/sys/arch/i386/include/psl.h b/sys/arch/i386/include/psl.h
index 6d4e12a3572..819935d8256 100644
--- a/sys/arch/i386/include/psl.h
+++ b/sys/arch/i386/include/psl.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: psl.h,v 1.19 2011/06/08 22:57:59 kettenis Exp $ */
+/* $OpenBSD: psl.h,v 1.20 2013/05/16 19:26:04 kettenis Exp $ */
/* $NetBSD: psl.h,v 1.30 1996/05/13 01:28:05 mycroft Exp $ */
/*-
@@ -86,6 +86,7 @@ struct intrhand {
int (*ih_fun)(void *);
void *ih_arg;
int ih_level;
+ int ih_flags;
struct intrhand *ih_next;
int ih_pin;
int ih_irq;