Skip to content

Commit

Permalink
define behaviour on spurious irq deassert
Browse files Browse the repository at this point in the history
  • Loading branch information
jnk0le committed Oct 29, 2023
1 parent 725a14d commit 078f52b
Showing 1 changed file with 8 additions and 1 deletion.
9 changes: 8 additions & 1 deletion riscv-total-embedded.adoc
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

= riscv-total-embedded
Jan Oleksiewicz <jnk0le@hotmail.com>
:appversion: 0.23.1
:appversion: 0.23.2
:toc:
:toclevels: 5
:sectnums:
Expand Down Expand Up @@ -940,6 +940,13 @@ The vector entry is selected by handler dispatch process.
NOTE: optimized microarchitectures will implement late arrival, tail chaining and
pop preemption which further complicate entry/exit procedures

If irq request is spuriously deasserted during the interrupt entry (or tail chaining), the core
must either; enter the offending handler or immediately return (or tail chain to yet another handler).

NOTE: Sometimes it takes a few cycles to deassert irq request signal, after e.g. clearing
status flag. Instead of populating errata, the vendors may opt to implement immediate return
on delayed (spurious) irq deassert.

===== handler dispatch

During the handler dispatch the hardware will evaluate all pending irq requests
Expand Down

0 comments on commit 078f52b

Please sign in to comment.