1$NetBSD: Interrupts,v 1.1 2000/12/14 20:30:14 scw Exp $
2
3NetBSD/mvme68k Interrupt Levels
4~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5
6NetBSD/mvme68k interrupts are dependent on the type of device which
7generates them. This holds true regardless of what bus the device is
8situated on (eg. local, VMEbus or IndustryPack site).
9
10On MVME147, there is a fixed 1:1 mapping of VMEbus interrupt level
11to CPU interrupt level. This implies that VMEbus devices must be
12set to interrupt at the correct level for that type of device.
13
14On the other boards, each VMEbus interrupt level can be mapped to a
15specific CPU interrupt level so the above restriction does not apply.
16However, note that the mapping can only be done once. Therefore it is
17not possible to have two VMEbus devices which require different CPU
18interrupt levels sharing the same VMEbus interrupt level.
19
20The mapping of device type to CPU interrupt levels is as follows:
21
22          CPU Irq             Device Type
23          ~~~~~~~             ~~~~~~~~~~~
24          <Highest>
25          6 - 7               Anything which generates an exceptional condition
26                              which *must* be responded to immediately. For
27                              example, a memory parity/uncorrectable data error.
28
29          5                   Reserved for the system clock/scheduler. Do not use.
30
31          4                   Serial port devices (rs232, rs422 etc).
32
33          3                   Network interfaces.
34
35          2                   Disk/Block device interfaces.
36
37          1                   Anything else.
38          <Lowest>
39
40
41
42Interrupt Vectors
43~~~~~~~~~~~~~~~~~
44
45NetBSD/mvme68k does not use or generate `auto-vectored' interrupts.
46
47All vectored interrupts up to and including vector 0x7f are reserved
48for use by onboard devices.
49
50VMEbus cards and IndustryPack modules are free to use vectors 0x80 -> 0xff.
51
52The onboard devices' vectors are as follows:
53
54MVME147:
55          0x40                PCC: ACFAIL
56          0x41                PCC: BERR
57          0x42                PCC: ABORT Switch
58          0x43                PCC: ZS Chips shared vector
59          0x44                PCC: Lance Ethernet
60          0x45                PCC: WD33C93 SCSI
61          0x46                PCC: DMA
62          0x47                PCC: Printer
63          0x48                PCC: Timer1
64          0x49                PCC: Timer2
65          0x4a                PCC: Soft Interrupt 1
66          0x4b                PCC: Soft Interrupt 2
67          0x4c -> 0x4f        PCC: <unused>
68
69
70MVME167/177:
71          0x50                PCC2: Printer `BUSY'
72          0x51                PCC2: Printer `Paper Empty'
73          0x52                PCC2: Printer `Select'
74          0x53                PCC2: Printer `Fault'
75          0x54                PCC2: Printer `ACK'
76          0x55                PCC2: SCSI
77          0x56                PCC2: Ethernet `Error'
78          0x57                PCC2: Ethernet
79          0x58                PCC2: Timer 2
80          0x59                PCC2: Timer 1
81          0x5a                PCC2: GPIO
82          0x5b                PCC2: <unused>
83          0x5c                PCC2: CD2401 Rx Exception
84          0x5d                PCC2: CD2401 Modem
85          0x5e                PCC2: CD2401 Tx
86          0x5f                PCC2: CD2401 Rx
87
88          0x60 -> 0x67        VME2: <unused>
89          0x68                VME2: Software Interrupt #0
90          0x69                VME2: Software Interrupt #1
91          0x6a                VME2: Software Interrupt #2
92          0x6b                VME2: Software Interrupt #3
93          0x6c                VME2: Software Interrupt #4
94          0x6d                VME2: Software Interrupt #5
95          0x6e                VME2: Software Interrupt #6
96          0x6f                VME2: Software Interrupt #7
97          0x70                VME2: GCSR Location Monitor #0
98          0x71                VME2: GCSR Location Monitor #1
99          0x72                VME2: GCSR SIG #0
100          0x73                VME2: GCSR SIG #1
101          0x74                VME2: GCSR SIG #2
102          0x75                VME2: GCSR SIG #3
103          0x76                VME2: DMA Controller
104          0x77                VME2: VIA
105          0x78                VME2: Tick Timer #1
106          0x79                VME2: Tick Timer #2
107          0x7a                VME2: `IRQ1' feature
108          0x7b                VME2: Parity/ECC Error
109          0x7c                VME2: Master Write Post Error
110          0x7d                VME2: SYSFAIL
111          0x7e                VME2: ABORT Switch
112          0x7f                VME2: ACFAIL
113
114
115MVME162/172:
116          0x40                IPACK: DMA_a
117          0x41                IPACK: DMA_b
118          0x42                IPACK: DMA_c
119          0x43                IPACK: DMA_d
120          0x44                IPACK: Programmable Clock
121
122          0x50 -> 0x52        MC2: <unused>
123          0x53                MC2: Timer 4
124          0x54                MC2: Timer 3
125          0x55                MC2: SCSI
126          0x56                MC2: Ethernet `Error'
127          0x57                MC2: Ethernet
128          0x58                MC2: Timer 2
129          0x59                MC2: Timer 1
130          0x5a                MC2: <unused>
131          0x5b                MC2: Parity/ECC Error
132          0x5c                MC2: ZS #1 (vector supplied by ZS chip)
133          0x5d                MC2: ZS #2 (vector supplied by ZS chip)
134          0x5e                MC2: Abort Switch
135          0x5f                MC2: <unused>
136
137          0x60 -> 0x67        VME2: <unused>
138          0x68                VME2: Software Interrupt #0
139          0x69                VME2: Software Interrupt #1
140          0x6a                VME2: Software Interrupt #2
141          0x6b                VME2: Software Interrupt #3
142          0x6c                VME2: Software Interrupt #4
143          0x6d                VME2: Software Interrupt #5
144          0x6e                VME2: Software Interrupt #6
145          0x6f                VME2: Software Interrupt #7
146          0x70                VME2: GCSR Location Monitor #0
147          0x71                VME2: GCSR Location Monitor #1
148          0x72                VME2: GCSR SIG #0
149          0x73                VME2: GCSR SIG #1
150          0x74                VME2: GCSR SIG #2
151          0x75                VME2: GCSR SIG #3
152          0x76                VME2: DMA Controller
153          0x77                VME2: VIA
154          0x78                VME2: Tick Timer #1
155          0x79                VME2: Tick Timer #2
156          0x7a                VME2: `IRQ1' feature
157          0x7b                VME2: Parity/ECC Error
158          0x7c                VME2: Master Write Post Error
159          0x7d                VME2: SYSFAIL
160          0x7e                VME2: <unused>
161          0x7f                VME2: ACFAIL
162