Subject: IPL_* and IST_* constants
To: None <tech-kern@NetBSD.ORG>
From: Charles M. Hannum <mycroft@MIT.EDU>
Date: 03/18/1996 07:51:14
The following specifies a standard that ports using the common ISA and
EISA code must follow.
The following constants must be defined in <machine/psl.h>, if _KERNEL
In addition, the following constants may be defined on some ports, as
necessary for the particular implementation of the machine-dependent
All other symbols beginning with `IPL_' or `IST_' are reserved for
Symbols beginning with `IPL_' are `interrupt priority levels', and are
used to specify to the *_intr_establish() routines what spl level
should be asserted when an interrupt handler is called. IPL_NONE
means that no spl level is asserted; the interrupt is blocked only
against itself. All other constants are named `IPL_FOO', where the
corresponding spl level would be asserted manually with `splfoo()'.
Symbols beginning with `IST_' are `interrupt sharing types', and are
used to specify to the *_intr_establish() routines how the IRQ is
triggered. An IRQ may not be shared between handlers using different
sharing types, and no two handlers of type IST_PULSE may share an IRQ.
Implementations of *_intr_establish() must reject attempts to violate