Skip to content

Add a basic mechanism for interrupt acknowledge.

Created by: zchamski

Add a single 64-bit variable in memory named 'int_ack' that emulates memory-mapped CSRs needed to clear interrupts at platform level. Place that variable in a dedicated section '.uvmif' aligned 64 bytes and adjust linker scripts / subproject patches accordingly.

Writes to 'int_ack' should be monitored by the platform to clear pending interrupts (Priv spec 20240411 section 3.1.9). For the Machine Timer interrupt (MTIME+MTIMECMP pair, cf. Priv Spec 20240411 section 3.2.1), no special MMIO register is added. Instead, raising some specific bit in 'int_ack' can be treated as a request to clear the "machine timer interrupt pending" bit in MIP (mip.MTIP).

Add associated ASCIIdoc documentation under verif/docs/Protocols.

Merge request reports

Loading