Skip to content

Commit b148d76

Browse files
Add interrupt vector table description
Adds a tentative description of the interrupt vector table. That has to be reviewed and adjusted.
1 parent b1b9bb8 commit b148d76

File tree

1 file changed

+79
-0
lines changed

1 file changed

+79
-0
lines changed

doc/03_reference/exception_interrupts.rst

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,3 +166,82 @@ If a synchronous exception occurs whilst ``cpuctrl``.sync_exception_seen is set,
166166

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

0 commit comments

Comments
 (0)