Skip to content

Commit 897cda2

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 93f7823 commit 897cda2

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
@@ -165,3 +165,82 @@ If a synchronous exception occurs whilst ``cpuctrl``.sync_exception_seen is set,
165165

166166
When a double fault is detected, the ``double_fault_seen_o`` output is asserted for one cycle and ``cpuctrl``.double_fault_seen is set.
167167
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

Comments
 (0)