Core Local Interruptor (CLINT)
The CLINT block holds memory-mapped control and status registers associated with software
and timer interrupts. The E31 Core Complex CLINT complies with
The RISC‑V Instruction Set
Manual, Volume II: Privileged Architecture, Version 1.10
.
Table 12 shows the memory map for CLINT on SiFive E31 Core Complex.
Address
Width
Attr.
Description
Notes
0x200000
4B
RW
msip
for hart 0
MSIP Registers (1 bit wide)
0x204008
…
0x20bff7
Reserved
0x204000
8B
RW
mtimecmp
for hart 0
MTIMECMP Registers
0x204008
…
0x20bff7
Reserved
0x20bff8
8B
RW
mtime
Timer Register
0x20c000
Reserved
Table 12:
CLINT Register Map
Machine-mode software interrupts are generated by writing to the memory-mapped control reg-
ister
msip
. Each
msip
register is a 32-bit wide
WARL
register where the upper 31 bits are tied to
0. The least significant bit is reflected in the
MSIP
bit of the
mip
CSR. Other bits in the
msip
reg-
ister are hardwired to zero. On reset, each
msip
register is cleared to zero.
Software interrupts are most useful for interprocessor communication in multi-hart systems, as
harts may write each other’s
msip
bits to effect interprocessor interrupts.
22