@@ -165,3 +165,82 @@ If a synchronous exception occurs whilst ``cpuctrl``.sync_exception_seen is set,
165
165
166
166
When a double fault is detected, the ``double_fault_seen_o `` output is asserted for one cycle and ``cpuctrl ``.double_fault_seen is set.
167
167
Note that writing the ``cpuctrl ``.double_fault_seen field has no effect on the ``double_fault_seen_o `` output.
168
+
169
+
170
+ Interrupt vector table
171
+ ----------------------
172
+
173
+ The interrupt vector table is located at ``mtvec ``, and each entry can contain the code for
174
+ the interrupt/exception handling. The following table indicates the offset of the entry and
175
+ its description.
176
+
177
+ +-------------------------+------------------------------------------------------------+
178
+ | offset in bytes | Description |
179
+ +=========================+============================================================+
180
+ | 0x00 | Boot |
181
+ +-------------------------+------------------------------------------------------------+
182
+ | 0x04 | reserved |
183
+ +-------------------------+------------------------------------------------------------+
184
+ | 0x08 | reserved |
185
+ +-------------------------+------------------------------------------------------------+
186
+ | 0x0c | Machine software interrupt |
187
+ +-------------------------+------------------------------------------------------------+
188
+ | 0x10 | reserved |
189
+ +-------------------------+------------------------------------------------------------+
190
+ | 0x14 | reserved |
191
+ +-------------------------+------------------------------------------------------------+
192
+ | 0x18 | reserved |
193
+ +-------------------------+------------------------------------------------------------+
194
+ | 0x1c | Machine timer interrupt |
195
+ +-------------------------+------------------------------------------------------------+
196
+ | 0x20 | reserved |
197
+ +-------------------------+------------------------------------------------------------+
198
+ | 0x24 | reserved |
199
+ +-------------------------+------------------------------------------------------------+
200
+ | 0x28 | reserved |
201
+ +-------------------------+------------------------------------------------------------+
202
+ | 0x2c | Machine external interrupt |
203
+ +-------------------------+------------------------------------------------------------+
204
+ | 0x30 | reserved |
205
+ +-------------------------+------------------------------------------------------------+
206
+ | 0x34 | reserved |
207
+ +-------------------------+------------------------------------------------------------+
208
+ | 0x38 | reserved |
209
+ +-------------------------+------------------------------------------------------------+
210
+ | 0x3c | reserved |
211
+ +-------------------------+------------------------------------------------------------+
212
+ | 0x40 | irq_fast_i[0] |
213
+ +-------------------------+------------------------------------------------------------+
214
+ | 0x44 | irq_fast_i[1] |
215
+ +-------------------------+------------------------------------------------------------+
216
+ | 0x48 | irq_fast_i[2] |
217
+ +-------------------------+------------------------------------------------------------+
218
+ | 0x4c | irq_fast_i[3] |
219
+ +-------------------------+------------------------------------------------------------+
220
+ | 0x50 | irq_fast_i[4] |
221
+ +-------------------------+------------------------------------------------------------+
222
+ | 0x54 | irq_fast_i[5] |
223
+ +-------------------------+------------------------------------------------------------+
224
+ | 0x58 | irq_fast_i[6] |
225
+ +-------------------------+------------------------------------------------------------+
226
+ | 0x5c | irq_fast_i[7] |
227
+ +-------------------------+------------------------------------------------------------+
228
+ | 0x60 | irq_fast_i[8] |
229
+ +-------------------------+------------------------------------------------------------+
230
+ | 0x64 | irq_fast_i[9] |
231
+ +-------------------------+------------------------------------------------------------+
232
+ | 0x68 | irq_fast_i[10] |
233
+ +-------------------------+------------------------------------------------------------+
234
+ | 0x6c | irq_fast_i[11] |
235
+ +-------------------------+------------------------------------------------------------+
236
+ | 0x70 | irq_fast_i[12] |
237
+ +-------------------------+------------------------------------------------------------+
238
+ | 0x74 | irq_fast_i[13] |
239
+ +-------------------------+------------------------------------------------------------+
240
+ | 0x78 | irq_fast_i[14] |
241
+ +-------------------------+------------------------------------------------------------+
242
+ | 0x7c | irq_fast_i[15] |
243
+ +-------------------------+------------------------------------------------------------+
244
+ | 0x80 | irq_nm_i |
245
+ +-------------------------+------------------------------------------------------------+
246
+
0 commit comments