diff options
author | Mark Kettenis <kettenis@cvs.openbsd.org> | 2013-05-16 19:26:05 +0000 |
---|---|---|
committer | Mark Kettenis <kettenis@cvs.openbsd.org> | 2013-05-16 19:26:05 +0000 |
commit | 6554a6921bfa3d3903eeea601beb22088b02273a (patch) | |
tree | 3e092a1f21e75c043fd090b47d6262f870dc62bc /sys/arch/i386/include | |
parent | 4feef0c81a9728fd079125ca763dcf683534af4c (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.h | 4 | ||||
-rw-r--r-- | sys/arch/i386/include/psl.h | 3 |
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; |