NetBSD/mvme68k interrupts are dependent on the type of device which
generates them. This holds true regardless of what bus the device is
situated on (eg. local, VMEbus or IndustryPack site).
On MVME147, there is a fixed 1:1 mapping of VMEbus interrupt level
to CPU interrupt level. This implies that VMEbus devices must be
set to interrupt at the correct level for that type of device.
On the other boards, each VMEbus interrupt level can be mapped to a
specific CPU interrupt level so the above restriction does not apply.
However, note that the mapping can only be done once. Therefore it is
not possible to have two VMEbus devices which require different CPU
interrupt levels sharing the same VMEbus interrupt level.
The mapping of device type to CPU interrupt levels is as follows:
CPU Irq Device Type
~~~~~~~ ~~~~~~~~~~~
<Highest>
6 - 7 Anything which generates an exceptional condition
which *must* be responded to immediately. For
example, a memory parity/uncorrectable data error.
5 Reserved for the system clock/scheduler. Do not use.
4 Serial port devices (rs232, rs422 etc).
3 Network interfaces.
2 Disk/Block device interfaces.
1 Anything else.
<Lowest>
Interrupt Vectors
~~~~~~~~~~~~~~~~~
NetBSD/mvme68k does not use or generate `auto-vectored' interrupts.
All vectored interrupts up to and including vector 0x7f are reserved
for use by onboard devices.
VMEbus cards and IndustryPack modules are free to use vectors 0x80 -> 0xff.